move kiss behavior of blades data into haxe files

This commit is contained in:
2022-06-08 02:22:41 +00:00
parent 03e52e954d
commit 434dba3866
4 changed files with 90 additions and 89 deletions

View File

@@ -3,6 +3,7 @@ package data.blades;
using Type;
using Reflect;
import kiss.Prelude;
import kiss.Kiss;
enum MeleeAbility {
Poison;
@@ -114,7 +115,6 @@ typedef Strategy = {
persistentTarget: Bool
};
@:build(kiss.Kiss.build())
class CreatureData {
public function new() {}
@@ -133,6 +133,48 @@ class CreatureData {
public var sp_bonus = 0;
private var special_abil = 0;
// specialAbility() defined in kiss file
public function specialAbility() {
return Kiss.exp('(case special_abil
(0 None)
(1 (Melee Poison))
(2 (Ray CurseAndWeaken))
(3 (Ray TurnToStone))
(4 (Melee Slow))
(5 (Throw Web4))
(6 (Melee Disease))
(7 (Ray Charm))
(8 (Melee Sleep))
(9 (Ray Sleep))
(10 (Melee Paralyze))
(11 (Ray Paralyze))
(12 (Melee Acid))
(13 (Ray DrainSP))
(14 (Ray Confuse))
(15 (Ray Terrify))
(16 (Throw Rocks))
(17 (Breath Fire))
(18 (Breath Cold))
(19 (Breath Acid))
(20 (Melee Fire))
(21 (Melee Cold))
(22 (Melee DrainXP))
(23 (Melee ColdDrainXP))
(24 Invisible)
(26 (Radiate Fire))
(27 (Radiate Cold))
(28 (Radiate AntiMagic))
(29 SplitsWhenHit)
(30 (Ray Fire))
(32 (Ray MagicDamage))
(33 (Breath Darkness))
(34 (Throw Spines))
(35 ForceCage)
(36 (Melee Web))
(37 (Radiate Sleep))
(38 (Radiate Stink))
(39 (Radiate Blade))
(otherwise (throw "undefined special_abil")))');
}
private var default_attitude = 2;
public function defaultAttitude() {