/
Sword.as
77 lines (74 loc) · 2.88 KB
/
Sword.as
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
package{
import flash.utils.getQualifiedClassName
public class Sword extends Item{
public function Sword(related_node:Node) {
super(related_node, true)
tile = 9;
sheetClass = piratesSheetClass
emptyTile = 26
equipable = true
takeable = true
}
override public function take(stage:Object, world:World):Item{
super.take(stage, world);
world.player.addToInventory(this, stage)
return null
}
override public function useItem(stage:Object, used:Item):Boolean{
var usedName:String = flash.utils.getQualifiedClassName(used)
if(usedName == "Chest"){
stage.chest.push(flash.utils.getQualifiedClassName(stage.player.clearInventory(stage)))
stage.addAchievement(Achievements.STORE_AN_ITEM)
} else if(used != null && used.animal != null){
if(stage.updateEnergy(-10)){
var random:int = Math.floor(Math.random() * 100)
if(random < 50 + stage.player.swordSkill){
if(used.animal.health - 1 <= 0){
used.removeAnimal(stage)
used.node.addItem(new used.deadAnimalClass(used.node), stage);
if(usedName == "Goat" || usedName == "SheGoat"){
stage.goatsKilled += 1
stage.addAchievement(Achievements.KILL_1_GOAT)
if(stage.goatsKilled >= 2){
stage.addAchievement(Achievements.KILL_10_GOATS)
}
if(stage.goatsKilled >= 3){
stage.addAchievement(Achievements.KILL_25_GOATS)
}
} else if(usedName == "Fowl" || usedName == "BlueFowl") {
stage.fowlsKilled += 1
stage.addAchievement(Achievements.KILL_1_FOWL)
if(stage.fowlsKilled >= 2){
stage.addAchievement(Achievements.KILL_10_FOWLS)
}
if(stage.fowlsKilled >= 3){
stage.addAchievement(Achievements.KILL_25_FOWLS)
}
} else if(usedName == "Cannibal" || usedName == "Cannibal") {
stage.cannibalsKilled += 1
stage.addAchievement(Achievements.KILL_1_CANNIBAL)
if(stage.cannibalsKilled >= 2){
stage.addAchievement(Achievements.KILL_5_CANNIBALS)
}
if(stage.cannibalsKilled >= 3){
stage.addAchievement(Achievements.KILL_15_CANNIBALS)
}
}
} else {
used.animal.health -= 1
}
used.hit()
} else {
used.miss()
}
used.animal.attacked = true
stage.player.swordSkill += 1
}
} else if(usedName == "DeadGoat" || usedName == "DeadFowl" || usedName == "DeadMonkey"){
used.node.removeItem(stage)
used.node.addItem(new Meat(used.node), stage);
}
return true;
}
}
}