d2jsp
Log InRegister
d2jsp Forums > Off-Topic > General Chat > Guild Chat & Recruiting > _| "sng Team" - Guildchat |_
Prev1219220221222223259Next
Add Reply New Topic New Poll
Member
Posts: 9,197
Joined: Jan 24 2009
Gold: 4,767.60
Feb 4 2010 08:09am
Added a few things and changed others around
Download here: http://scaryghoul.servegame.com/chris/downloads
Code below
For boostable life I have, (vitality, natural life/level, life from items, bird quest)
For non boostable I have vitality from items, and items that give life/level
For life boosters I have BO level, werebear, werewolf. lycanthropy, OAK, and + life%
LMK if you spot any errors



Code
#!/usr/bin/env python

vitality = input('Vitality: ')
level = input('BO level: ')
a = 1.32
c = raw_input('Character Class: ')
l = 0
clvl = input('Character level: ')
cl = 0
il = input('Life from items: ')
iv = input('Vitality from items: ')
werewolf = 0.25
wb = raw_input('Werebear?(yes/no) ')
if wb == 'yes':
werebear = .50
lyc = input('Lycanthropy level? ')
elif wb == 'no':
werebear = 0
lyc = 0
b = raw_input('Werewolf?(yes/no) ')
if b == 'yes':
werewolf = .25
lyc = input('Lycanthropy level? ')
elif b == 'no':
werewolf = 0
lyc = 0
ilc = input('Life gained from life/level items: ')
bi = input('How many golden bird quests have you completed?(1,2,3) ')
bird = bi * 20
boost = input('+% life from items: ')
werebear = 0
#O = oak sage level input
#lyc = lycanthropy level
#lycan = lycanthropy %
#finalbo represents bo level %
#boostable_life represents life that is boostable
#life_boosters represents skills that increase life %
#Vitality defines the total vitality of the character without items
#level defines the BO level
#a defines BO's base + 1.32
#c defines character type
#l defines life per vitality
#clvl defines chracter level
#cl defines the life per level
#il defines life given from items
#iv defines vitality given from items
#werewolf defines the value of life added from werewolf
#b defines whether or not werewolf is active
#ilc defines items that give life/level
#bi defines how many bird quests
#bird defines life from bird quest
#boost defines the variable for +% life
if c == 'necromancer':
l = 2
cl = 1.5
elif c == 'amazon':
l = 3
cl = 2
elif c == 'assassin':
l = 3
cl = 2
elif c == 'barbarian':
l = 4
cl = 2
elif c == 'sorceress':
l = 2
cl = 1
elif c == 'druid':
l = 2
cl = 1.5
elif c == 'paladin':
l = 3
cl = 2
boos = boost / 100
lycan = (lyc * 5 + 15) / 100
finalbo = (level / 100.00 * 3 + a)
O = input('Oak sage level? ')
oak = (O * 5 + 25) / 100
boostable_life = (vitality * l + (cl * clvl) +il + bird)
life_boosters =  finalbo + werebear + werewolf + oak + lycan +boos
finalbo = (level / 100.00 * 3 + a)
nonboostable_life = (l *iv) + ilc
output = boostable_life * life_boosters + nonboostable_life
print output



Edit: WWWWWWWWWWWWWOOOOOOOOOOOOOOOOOO this one is a little off

This post was edited by Scaryghoul on Feb 4 2010 08:24am
Member
Posts: 25,580
Joined: May 20 2006
Gold: 843.00
Feb 4 2010 08:42am
I thought I would share this magnificent remix with you,

Member
Posts: 25,580
Joined: May 20 2006
Gold: 843.00
Feb 4 2010 08:42am
Compare the original,

Member
Posts: 19,733
Joined: Sep 3 2007
Gold: 3,475.00
Feb 4 2010 09:31am
Quote (Eywa @ 4 Feb 2010 10:42)
I thought I would share this magnificent remix with you,

http://www.youtube.com/watch?v=t9cBBodPV-M


eh, it starts out nice, overall i prefer the original
Member
Posts: 9,197
Joined: Jan 24 2009
Gold: 4,767.60
Feb 4 2010 01:03pm
Updated the calculator file, still can't find my error but mabey you can help. It's not a syntax error, it just prints the wrong result, which is strange.....feel free to test it out...
http://scaryghoul.servegame.com/chris/downloads
Code
#!/usr/bin/env python

#charclass = character classes, case sensitive
charclass = raw_input('Character class: ')
#Setting character level
level = input('Character level? ')
#Setting the vitality per life, life per level, and starting life variables
vitlife = 0
lvlife = 0
slife = 0
#Setting all the input variables
vitality = input('Base vitality: ')
itemvitality = input('Vitality from items: ')
item_life_per_level = input('Life/level from items? ')
#Setting a BO level variable
bolvl = input('BO level: ')
bo = (bolvl * 3 + 32) / 100.0
#Transformed states variables
werewolf = 0
werebear = 0
lyc = 0
ww = raw_input('Werewolf? ')
if ww == 'yes':
werewolf = 0.25
lyc = input('Lycanthropy level? ')
elif ww == 'no':
werewolf = 0
wb = raw_input('Werebear? ')
if wb == 'yes':
werebear = 0.50
lyc = input('Lycanthropy level? ')
elif wb == 'no':
wearbear = 0
lycan = (lyc * 5 + 15) / 100.0
if wb == 'no':
lycan = 0
if ww == 'no':
lycan = 0
#Bird quest
bird = input('How many golden bird quests have you completed? ') * 20
#Percentage of +% life from items
itempercent = input('+% Life from items? ') / 100.0
#+ xx to life items
itemlife = input('+ X to life from items ')
#Oak sage variable
sage = input('Oak sage level')
oak = (sage * 5 + 25) / 100.0

#Character classes, vitality per life, life per level, starting life
if charclass == 'necromancer':
vitlife = 2
lvlife = 1.5
slife = 45
elif charclass == 'amazon':
vitlife = 3
lvlife = 2
slife = 50
elif charclass == 'assassin':
vitlife = 3
lvlife = 2
slife = 50
elif charclass == 'barbarian':
vitlife = 4
lvlife = 2
slife = 55
elif charclass == 'sorceress':
vitlife = 2
lvlife = 1
slife = 40
elif charclass == 'druid':
vitlife = 2
lvlife = 1.5
slife = 55
elif charclass == 'paladin':
vitlife = 3
lvlife = 2
slife = 55

#Life boosters
total_percent = itempercent + werebear + werewolf + lycan + bo + oak
#Boostable life
elife = slife + (lvlife *level) + itemlife +(vitality * vitlife) + bird
#Total life
lifetot = elife * (1 + total_percent) + itemvitality + item_life_per_level
print lifetot

Member
Posts: 9,197
Joined: Jan 24 2009
Gold: 4,767.60
Feb 4 2010 02:02pm
The newer code incase anyone wants a peak, it is cleaner and a bit more accurate, only 30 HP off atm
Code
#!/usr/bin/env python

# Dictionaries for character stats
vitlife = {'amazon':3, 'assassin':3, 'barbarian':4, 'druid':2, 'necromancer':2, 'paladin':3, 'sorceress':2}
lvlife = {'amazon':2, 'assassin':2, 'barbarian':2, 'druid':2, 'necromancer':1.5, 'paladin':2, 'sorceress':1}

#charclass = character classes, case sensitive
charclass = raw_input('Character class: ')
charclass = charclass.lower()

#Setting character level
level = input('Character level? ')
#Setting all the input variables
vitality = input('Base vitality: ')
itemvitality = input('Vitality from items: ')
item_life_per_level = input('Life/level from items? ')
#Setting a BO level variable
bolvl = input('BO level: ')
bo = (bolvl * 3 + 32) / 100.0
#Transformed states variables
werewolf = 0
werebear = 0
lyc = 0

ww = raw_input('Werewolf? ')
if ww == 'yes':
werewolf = 0.25
lyc = input('Lycanthropy level? ')

wb = raw_input('Werebear? ')
if wb == 'yes':
werebear = 0.50
lyc = input('Lycanthropy level? ')
lycan = 0
if lyc:
lycan = (lyc * 5 + 15) / 100.0

#Bird quest
bird = input('How many golden bird quests have you completed? ') * 20
#Percentage of +% life from items
itempercent = input('+% Life from items? ') / 100.0
#+ xx to life items
itemlife = input('+ X to life from items ')
#Oak sage variable

oak = 0

sage = input('Oak sage level ')

if sage:

oak = (sage * 5 + 25) / 100.0
#Character classes, vitality per life, life per level, starting life
#Life boosters
total_percent = itempercent + werebear + werewolf + lycan + bo + oak
#Boostable life
elife = (lvlife[charclass] *level) + itemlife +(vitality * vitlife[charclass]) + bird
#Total life
lifetot = elife * (1 + total_percent) + itemvitality + item_life_per_level
print lifetot


This post was edited by Scaryghoul on Feb 4 2010 02:09pm
Member
Posts: 25,580
Joined: May 20 2006
Gold: 843.00
Feb 4 2010 02:12pm
Line indented where I spotted errors, even in the case of comment lines.

Code
#!/usr/bin/env python

#charclass = character classes, case sensitive
charclass = raw_input('Character class: ')
#Setting character level
level = input('Character level? ')
   #Setting the vitality per life, life per level, and starting life variables
vitlife = 0
lvlife = 0
slife = 0
#Setting all the input variables
   vitality = input('Base vitality: ')
itemvitality = input('Vitality from items: ')
item_life_per_level = input('Life/level from items? ')
#Setting a BO level variable
bolvl = input('BO level: ')
   bo = (bolvl * 3 + 32) / 100.0
#Transformed states variables
werewolf = 0
werebear = 0
lyc = 0
ww = raw_input('Werewolf? ')
if ww == 'yes':
    werewolf = 0.25
lyc = input('Lycanthropy level? ')
elif ww == 'no':
werewolf = 0
wb = raw_input('Werebear? ')
if wb == 'yes':
    werebear = 0.50
lyc = input('Lycanthropy level? ')
elif wb == 'no':
wearbear = 0
   lycan = (lyc * 5 + 15) / 100.0
if wb == 'no':
lycan = 0
if ww == 'no':
lycan = 0
#Bird quest
bird = input('How many golden bird quests have you completed? ') * 20
#Percentage of +% life from items
   itempercent = input('+% Life from items? ') / 100.0
#+ xx to life items
itemlife = input('+ X to life from items ')
#Oak sage variable
sage = input('Oak sage level')
   oak = (sage * 5 + 25) / 100.0

#Character classes, vitality per life, life per level, starting life
if charclass == 'necromancer':
vitlife = 2
lvlife = 1.5
slife = 45
elif charclass == 'amazon':
vitlife = 3
lvlife = 2
slife = 50
elif charclass == 'assassin':
vitlife = 3
lvlife = 2
slife = 50
elif charclass == 'barbarian':
vitlife = 4
lvlife = 2
slife = 55
elif charclass == 'sorceress':
vitlife = 2
lvlife = 1
slife = 40
elif charclass == 'druid':
vitlife = 2
lvlife = 1.5
slife = 55
elif charclass == 'paladin':
vitlife = 3
lvlife = 2
slife = 55

#Life boosters
total_percent = itempercent + werebear + werewolf + lycan + bo + oak
#Boostable life
   elife = slife + (lvlife *level) + itemlife +(vitality * vitlife) + bird
#Total life
   lifetot = elife * (1 + total_percent) + itemvitality + item_life_per_level
print lifetot

Change indented lines to read:

#Setting the life per vitality, life per level, and starting life variables
statvitality = input('Vitality points spent: ')
<-- otherwise user ends up including the starting vitality which does not contribute at all (starting life is stored as variable 'slife').
bo = bolvl * 3 + 32
werewolf = 25
werebear = 50
lycan = lyc * 5 + 15
itempercent = input('+% Life from items? ')
oak = sage * 5 + 25
elife = slife + (lvlife * level) + itemlife + (statvitality * vitlife) + bird
lifetot = elife * (100 + total_percent)/100 + itemvitality * vitlife + item_life_per_level * level


Notice: item_life_per_level need not be an integer (internally, the game handles this stat (hp/lvl) in eighths, i.e. 12 means 1.5 per level), but as you know, fractions are truncated.
Hence the term item_life_per_level * level should be rounded down.

This post was edited by Eywa on Feb 4 2010 02:29pm
Member
Posts: 9,197
Joined: Jan 24 2009
Gold: 4,767.60
Feb 4 2010 02:17pm
Quote (Eywa @ Feb 4 2010 03:12pm)
Line indented where I spotted errors, even in the case of comment lines.

Code
#!/usr/bin/env python

#charclass = character classes, case sensitive
charclass = raw_input('Character class: ')
#Setting character level
level = input('Character level? ')
   #Setting the vitality per life, life per level, and starting life variables
vitlife = 0
lvlife = 0
slife = 0
#Setting all the input variables
   vitality = input('Base vitality: ')
itemvitality = input('Vitality from items: ')
item_life_per_level = input('Life/level from items? ')
#Setting a BO level variable
bolvl = input('BO level: ')
   bo = (bolvl * 3 + 32) / 100.0
#Transformed states variables
werewolf = 0
werebear = 0
lyc = 0
ww = raw_input('Werewolf? ')
if ww == 'yes':
    werewolf = 0.25
lyc = input('Lycanthropy level? ')
elif ww == 'no':
werewolf = 0
wb = raw_input('Werebear? ')
if wb == 'yes':
    werebear = 0.50
lyc = input('Lycanthropy level? ')
elif wb == 'no':
wearbear = 0
   lycan = (lyc * 5 + 15) / 100.0
if wb == 'no':
lycan = 0
if ww == 'no':
lycan = 0
#Bird quest
bird = input('How many golden bird quests have you completed? ') * 20
#Percentage of +% life from items
   itempercent = input('+% Life from items? ') / 100.0
#+ xx to life items
itemlife = input('+ X to life from items ')
#Oak sage variable
sage = input('Oak sage level')
   oak = (sage * 5 + 25) / 100.0

#Character classes, vitality per life, life per level, starting life
if charclass == 'necromancer':
vitlife = 2
lvlife = 1.5
slife = 45
elif charclass == 'amazon':
vitlife = 3
lvlife = 2
slife = 50
elif charclass == 'assassin':
vitlife = 3
lvlife = 2
slife = 50
elif charclass == 'barbarian':
vitlife = 4
lvlife = 2
slife = 55
elif charclass == 'sorceress':
vitlife = 2
lvlife = 1
slife = 40
elif charclass == 'druid':
vitlife = 2
lvlife = 1.5
slife = 55
elif charclass == 'paladin':
vitlife = 3
lvlife = 2
slife = 55

#Life boosters
total_percent = itempercent + werebear + werewolf + lycan + bo + oak
#Boostable life
   elife = slife + (lvlife *level) + itemlife +(vitality * vitlife) + bird
#Total life
   lifetot = elife * (1 + total_percent) + itemvitality + item_life_per_level
print lifetot

Change indented lines to read:

#Setting the life per vitality, life per level, and starting life variables
statvitality = input('Vitality points spent: ')
<-- otherwise user ends up including the starting vitality which does not contribute at all (starting life is stored as variable 'slife').
bo = bolvl * 3 + 32
werewolf = 25
werebear = 50
lycan = lyc * 5 + 15
itempercent = input('+% Life from items? ')
oak = sage * 5 + 25
elife = slife + (lvlife * level) + itemlife + (statvitality * vitlife) + bird
lifetot = elife * (100 + total_percent)/100 + itemvitality * vitlife + item_life_per_level * level


Notice: item_life_per_level need not be an integer (internally, the game handles this stat (hp/lvl) in eights, i.e. 12 means 1.5 per level), but as you know, fractions are truncated.
Hence the term item_life_per_level * level should be rounded down.


Can't see which ones are the indented, mind like going berserk with 2938492749823748923749823 to point it out? D2jsp doesn't indent o.O
Member
Posts: 25,580
Joined: May 20 2006
Gold: 843.00
Feb 4 2010 02:22pm
Quote (Scaryghoul @ 4 Feb 2010 21:17)
Can't see which ones are the indented, mind like going berserk with 2938492749823748923749823 to point it out? D2jsp doesn't indent o.O

Indented in the code part of #2207.

This post was edited by Eywa on Feb 4 2010 02:22pm
Member
Posts: 9,197
Joined: Jan 24 2009
Gold: 4,767.60
Feb 4 2010 02:36pm
Quote (Eywa @ Feb 4 2010 03:12pm)
Line indented where I spotted errors, even in the case of comment lines.

Code#!/usr/bin/env python

#charclass = character classes, case sensitive
charclass = raw_input('Character class: ')
#Setting character level
level = input('Character level? ')
    #Setting the vitality per life, life per level, and starting life variables
vitlife = 0
lvlife = 0
slife = 0
#Setting all the input variables
    vitality = input('Base vitality: ')
itemvitality = input('Vitality from items: ')
item_life_per_level = input('Life/level from items? ')
#Setting a BO level variable
bolvl = input('BO level: ')
    bo = (bolvl * 3 + 32) / 100.0
#Transformed states variables
werewolf = 0
werebear = 0
lyc = 0
ww = raw_input('Werewolf? ')
if ww == 'yes':
    werewolf = 0.25
lyc = input('Lycanthropy level? ')
elif ww == 'no':
werewolf = 0
wb = raw_input('Werebear? ')
if wb == 'yes':
    werebear = 0.50
lyc = input('Lycanthropy level? ')
elif wb == 'no':
wearbear = 0
    lycan = (lyc * 5 + 15) / 100.0
if wb == 'no':
lycan = 0
if ww == 'no':
lycan = 0
#Bird quest
bird = input('How many golden bird quests have you completed? ') * 20
#Percentage of +% life from items
    itempercent = input('+% Life from items? ') / 100.0
#+ xx to life items
itemlife = input('+ X to life from items ')
#Oak sage variable
sage = input('Oak sage level')
    oak = (sage * 5 + 25) / 100.0

#Character classes, vitality per life, life per level, starting life
if charclass == 'necromancer':
vitlife = 2
lvlife = 1.5
slife = 45
elif charclass == 'amazon':
vitlife = 3
lvlife = 2
slife = 50
elif charclass == 'assassin':
vitlife = 3
lvlife = 2
slife = 50
elif charclass == 'barbarian':
vitlife = 4
lvlife = 2
slife = 55
elif charclass == 'sorceress':
vitlife = 2
lvlife = 1
slife = 40
elif charclass == 'druid':
vitlife = 2
lvlife = 1.5
slife = 55
elif charclass == 'paladin':
vitlife = 3
lvlife = 2
slife = 55

#Life boosters
total_percent = itempercent + werebear + werewolf + lycan + bo + oak
#Boostable life
    elife = slife + (lvlife *level) + itemlife +(vitality * vitlife) + bird
#Total life
    lifetot = elife * (1 + total_percent) + itemvitality + item_life_per_level
print lifetot
Change indented lines to read:

#Setting the life per vitality, life per level, and starting life variables
statvitality = input('Vitality points spent: ')
<-- otherwise user ends up including the starting vitality which does not contribute at all (starting life is stored as variable 'slife').
bo = bolvl * 3 + 32
werewolf = 25
werebear = 50
lycan = lyc * 5 + 15
itempercent = input('+% Life from items? ')
oak = sage * 5 + 25
elife = slife + (lvlife * level) + itemlife + (statvitality * vitlife) + bird
lifetot = elife * (100 + total_percent)/100 + itemvitality * vitlife + item_life_per_level * level


Notice: item_life_per_level need not be an integer (internally, the game handles this stat (hp/lvl) in eighths, i.e. 12 means 1.5 per level), but as you know, fractions are truncated.
Hence the term item_life_per_level * level should be rounded down.


Fixed the vitality problem by adding a variable which takes data from a library at the top of how much vitality they start with and it subtracts it from the input so users won't have to worry, but for the BO, wereforms, lycan, oak, that is all that way for a reason o.O If I didn't have them in parantheses the number coming out would be HUUUGE

Anyways here is the edited version, still 80 life off
Code
#!/usr/bin/env python

# Dictionaries for character stats
vitlife = {'amazon':3, 'assassin':3, 'barbarian':4, 'druid':2, 'necromancer':2, 'paladin':3, 'sorceress':2}
lvlife = {'amazon':2, 'assassin':2, 'barbarian':2, 'druid':2, 'necromancer':1.5, 'paladin':2, 'sorceress':1}
slife = {'amazon':50, 'assassin':50, 'barbarian':55, 'druid':55, 'necromancer':45, 'paladin':55, 'sorceress':40}
svitality = {'amazon':20, 'assassin':20, 'barbarian':25, 'druid':25, 'necromancer':15, 'paladin':25, 'sorceress':10}
#charclass = character classes, case sensitive
charclass = raw_input('Character class: ')
charclass = charclass.lower()

#Setting character level
level = input('Character level? ')
#Setting all the input variables
vitality = 0
vita = input('Base vitality without items: ')
vitality = vita - svitality[charclass]
itemvitality = input('Vitality from items: ')
item_life_per_level = input('Life/level from items? ')
#Setting a BO level variable
bolvl = input('BO level: ')
bo = 0
if bolvl:
bo = (bolvl * 3 + 32) / 100.0
#Transformed states variables
werewolf = 0
werebear = 0
lyc = 0

ww = raw_input('Werewolf? ')
if ww == 'yes':
werewolf = 0.25
lyc = input('Lycanthropy level? ')

wb = raw_input('Werebear? ')
if wb == 'yes':
werebear = 0.50
lyc = input('Lycanthropy level? ')
lycan = 0
if lyc:
lycan = (lyc * 5 + 15) / 100.0

#Bird quest
bird = input('How many golden bird quests have you completed? ') * 20
#Percentage of +% life from items
itempercent = input('+% Life from items? ') / 100.0
#+ xx to life items
itemlife = input('+ X to life from items ')
#Oak sage variable

oak = 0

sage = input('Oak sage level ')

if sage:

oak = (sage * 5 + 25) / 100.0
#Character classes, vitality per life, life per level, starting life
#Life boosters
total_percent = itempercent + werebear + werewolf + lycan + bo + oak
#Boostable life
elife = slife[charclass] + (lvlife[charclass] *level) + itemlife +(vitality * vitlife[charclass]) + bird
#Total life
lifetot = elife * (1 + total_percent) + itemvitality + item_life_per_level* level
print lifetot


This post was edited by Scaryghoul on Feb 4 2010 02:41pm
Go Back To Guild Chat & Recruiting Topic List
Prev1219220221222223259Next
Add Reply New Topic New Poll