]> git.localhorst.tv Git - l2e.git/blobdiff - src/battle/Hero.cpp
removed stupid file headers that eclipse put in
[l2e.git] / src / battle / Hero.cpp
index 8138bc11d89c328d20374888284aa8521f6d28d7..7dd8abb26d453d40277cee55307eed744a8665e0 100644 (file)
@@ -1,10 +1,3 @@
-/*
- * Hero.cpp
- *
- *  Created on: Aug 6, 2012
- *      Author: holy
- */
-
 #include "Hero.h"
 
 #include "AttackChoice.h"
 #include "../common/Ikari.h"
 #include "../common/Item.h"
 #include "../common/Spell.h"
-#include "../loader/TypeDescription.h"
 
 using common::Ikari;
 using common::Spell;
-using loader::FieldDescription;
-using loader::TypeDescription;
 using std::vector;
 
 namespace battle {
 
 Hero::Hero()
-: name("")
-, sprite(0)
-
-, weapon(0)
-, armor(0)
-, shield(0)
-, helmet(0)
-, ring(0)
-, jewel(0)
-
-, meleeAnimation(0)
-, attackAnimation(0)
-, spellAnimation(0)
-
-, maxHealth(0)
-, health(0)
-, maxMana(0)
-, mana(0)
-
-, level(0)
-, ip(0) {
+: master(0) {
 
 }
 
-Hero::~Hero() {
+Hero::Hero(common::Hero &h)
+: master(&h)
+, stats(h.GetStats()) {
 
 }
 
+Hero::~Hero() {
 
-void Hero::SubtractHealth(int amount) {
-       if (amount > Health()) {
-               health = 0;
-       } else {
-               health -= amount;
-               int ipGain(amount * 255 / health);
-               if (ip + ipGain > 255) {
-                       ip = 255;
-               } else {
-                       ip += ipGain;
-               }
-       }
 }
 
 
@@ -153,38 +114,4 @@ void Hero::UpdateIkariMenu(const Resources *res) {
        }
 }
 
-
-void Hero::CreateTypeDescription() {
-       Hero h;
-
-       int animationId(TypeDescription::GetTypeId("Animation"));
-       int numberId(TypeDescription::GetTypeId("Number"));
-       int spriteId(TypeDescription::GetTypeId("Sprite"));
-       int statsId(TypeDescription::GetTypeId("Stats"));
-       int stringId(TypeDescription::GetTypeId("String"));
-
-       TypeDescription &td(TypeDescription::CreateOrGet("Hero"));
-       td.SetConstructor(&Construct);
-       td.SetSize(sizeof(Hero));
-
-       td.AddField("name", FieldDescription(((char *)&h.name) - ((char *)&h), stringId, true));
-       td.AddField("sprite", FieldDescription(((char *)&h.sprite) - ((char *)&h), spriteId, true));
-       td.AddField("level", FieldDescription(((char *)&h.level) - ((char *)&h), numberId, false));
-
-       td.AddField("maxHealth", FieldDescription(((char *)&h.maxHealth) - ((char *)&h), numberId, false));
-       td.AddField("health", FieldDescription(((char *)&h.health) - ((char *)&h), numberId, false));
-       td.AddField("maxMana", FieldDescription(((char *)&h.maxMana) - ((char *)&h), numberId, false));
-       td.AddField("mana", FieldDescription(((char *)&h.mana) - ((char *)&h), numberId, false));
-       td.AddField("ip", FieldDescription(((char *)&h.ip) - ((char *)&h), numberId, false));
-       td.AddField("stats", FieldDescription(((char *)&h.stats) - ((char *)&h), statsId, false));
-
-       td.AddField("attackAnimation", FieldDescription(((char *)&h.attackAnimation) - ((char *)&h), animationId, true));
-       td.AddField("spellAnimation", FieldDescription(((char *)&h.spellAnimation) - ((char *)&h), animationId, true));
-       td.AddField("meleeAnimation", FieldDescription(((char *)&h.meleeAnimation) - ((char *)&h), animationId, true));
-}
-
-void Hero::Construct(void *data) {
-       new (data) Hero;
-}
-
 }