青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

天行健 君子當自強而不息

Controlling Players and Characters(19)

 

The Function of Spells
 

The functional component of a spell does the real work. Once a spell runs through
its animation and reaches its intended target, the damaging or beneficial effects
need to be dealt with.

Healing spells need to restore health to an injured character, whereas damaging
spells need to take away health. In fact, just about any aspect of a character can be
altered from a spell, ranging from characters’ health and mana to their abilities
such as attack or defense. In Table 16.5, I define the effects that can be used as a
spell effect.

Each spell effect has a supporting value defined in the source code as an enum
object that is defined as follows:

enum SpellEffects {
  ALTER_HEALTH = 0,
  ALTER_MANA,
  CURE_AILMENT,
  CAUSE_AILMENT,
  RAISE_DEAD,
  INSTANT_KILL,
  DISPEL_MAGIC,
  TELEPORT
};

Each spell effect is assigned a number. In that way, you can contain the processing
of a spell effect within a single switch statement, as in the following:

switch(SpellEffect) {
  case ALTER_HEALTH:
    // do health altering processing
  case ALTER_MANA:
    // do mana alter processing
    ...
}

Each spell effect is pretty straightforward. Now, take a closer look at just what each
of these effects do.

 

Alter Health and Mana
 

A spell can cause damage or rob characters of their stored mana, or it can, on the
other hand, restore health or mana. Alteration of health is probably the most widely
used spell effect.
 

A health altering spell has an associated value that determines how much health is
removed or added to the target character. The same applies to mana points, which
can be restored or drained away with the mere flick of a wizard’s hand.

 

Cure and Cause Ailment


Status ailments are the bane and bonus of a character’s abilities and attributes. The
duo of curing and causing spell effects gives you great freedom in devising how to
curse or what to bestow upon a character.


When you alter an ailment (cause or cure), you must use a bit-encoded number to
define the ailment. By using bit flags, more than one status ailment can be caused
or cured at once. Each ailment has an associated macro defined as follows:

#define AILMENT_POISON 1
#define AILMENT_SLEEP 2
#define AILMENT_PARALYZE 4
#define AILMENT_WEAK 8
#define AILMENT_STRONG 16
#define AILMENT_ENCHANTED 32
#define AILMENT_BARRIER 64
#define AILMENT_DUMBFOUNDED 128
#define AILMENT_CLUMSY 256
#define AILMENT_SUREFOOTED 512
#define AILMENT_SLOW 1024
#define AILMENT_FAST 2048
#define AILMENT_BLIND 4096
#define AILMENT_HAWKEYE 8192
#define AILMENT_SILENCED 16384

Character ailments are stored within a single 32-bit variable, and all characters have
an ailment variable associated with them. That’s right, any character in your game
can be burdened with status ailments, but it is harder to afflict characters that have
a higher resistance.

 

Raise Dead and Instant Kill


At times, your poor characters are going to die, and except for MCs, you want the
ability to raise them from the dead. The raise dead spell effect does just that—
raises PC or NPC characters from death and gives them exactly one health point.


On the flip side, there will be times when you just want to strike a monster down in
one blow. That’s the purpose of the instance kill effect. Although having little
chance of working, the instant kill ability is still a force to be reckoned with.

 

Dispel Magic


Forget all those status ailment-curing spells; why not just get rid of them all in one
shot! The dispel effect clears a target character’s ailments, whether good or bad,
and although this effect can be represented as a cure ailment effect, it becomes
much easier to not use bit flags.

 

Teleport


Other than walking around, the best way to travel is to magically teleport around.
Only PCs can use this spell. Teleporting can move a PC to any position on a map.


posted on 2007-11-16 14:24 lovedday 閱讀(202) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


公告

導航

統計

常用鏈接

隨筆分類(178)

3D游戲編程相關鏈接

搜索

最新評論

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲国产精品一区在线观看不卡 | 免费不卡在线观看| 亚洲欧美一区二区激情| 国产精品美女久久久久aⅴ国产馆| 一区二区三欧美| 一区二区黄色| 国产日产高清欧美一区二区三区| 香蕉尹人综合在线观看| 久久99在线观看| 亚洲国产精品一区二区第一页| 亚洲国产日韩欧美综合久久| 欧美福利电影网| 亚洲综合色噜噜狠狠| 亚洲欧美日韩综合aⅴ视频| 今天的高清视频免费播放成人| 欧美成人一区二区三区在线观看 | 午夜久久久久久| 激情久久五月| 亚洲精品美女免费| 国产精品推荐精品| 久热成人在线视频| 欧美日韩国产一区二区三区地区| 亚洲一区区二区| 久久精品国产一区二区三| 99精品欧美一区二区三区| 亚洲在线观看视频| 亚洲日本精品国产第一区| 在线亚洲美日韩| 在线观看av一区| 一区二区三区视频在线观看| 狠狠色狠狠色综合日日五| 欧美激情亚洲综合一区| 国产午夜精品美女视频明星a级| 男人的天堂亚洲| 国产精品欧美久久久久无广告| 久久亚洲一区| 欧美日一区二区在线观看| 久久在线视频在线| 国产精品video| 亚洲丁香婷深爱综合| 国产亚洲成人一区| 亚洲色图在线视频| 亚洲黄一区二区| 欧美一级片久久久久久久| 一本色道久久综合狠狠躁篇的优点 | 日韩一级不卡| 久热re这里精品视频在线6| 欧美影院成人| 国产精品久久久久一区| 亚洲国产精品久久久| 激情一区二区三区| 亚洲自拍电影| 亚洲影院污污.| 欧美黄色精品| 亚洲第一精品久久忘忧草社区| 国产一区二区三区视频在线观看 | 亚洲综合精品一区二区| 亚洲乱码国产乱码精品精可以看| 久久精品视频网| 久久久久久久一区二区三区| 欧美性大战久久久久| 99re6这里只有精品| 日韩视频在线观看| 欧美国产视频一区二区| 亚洲福利av| 亚洲麻豆国产自偷在线| 美日韩精品视频免费看| 欧美大片免费看| 亚洲精品久久7777| 欧美经典一区二区| 99av国产精品欲麻豆| 中日韩男男gay无套| 欧美日韩精品一区二区三区| 亚洲日本无吗高清不卡| 日韩一级欧洲| 国产精品久久久久9999吃药| 亚洲视频免费在线观看| 欧美亚洲视频在线观看| 国产乱码精品一区二区三区av| 亚洲欧美日本另类| 久久久久久国产精品一区| 国模 一区 二区 三区| 久久久久国产一区二区三区四区| 欧美成人精品在线视频| 亚洲免费观看视频| 欧美日韩一区二区三区在线观看免| 一本到高清视频免费精品| 亚洲欧美激情视频在线观看一区二区三区| 国产精品国产精品国产专区不蜜| 亚洲一级黄色片| 久久综合色影院| 亚洲最黄网站| 国产三级欧美三级| 麻豆91精品| 亚洲午夜性刺激影院| 久久一综合视频| 一本一本大道香蕉久在线精品| 国产精品v日韩精品| 久久www成人_看片免费不卡| 亚洲激情成人在线| 欧美一区二区三区在线| 在线成人亚洲| 国产精品乱子久久久久| 久久女同互慰一区二区三区| 日韩天堂在线视频| 久久先锋资源| 亚洲午夜一区| 亚洲成人在线| 国产精品一级久久久| 久热精品视频| 亚洲综合清纯丝袜自拍| 亚洲国产精品久久精品怡红院| 亚洲欧美成aⅴ人在线观看| 在线观看成人一级片| 国产精品视频网站| 欧美成人影音| 久久久久久久尹人综合网亚洲| 99精品99| 91久久线看在观草草青青| 久久九九久久九九| 亚洲欧美日韩精品久久久久| 亚洲黄色一区二区三区| 狠狠色丁香婷综合久久| 国产精品激情电影| 欧美日本二区| 蜜桃视频一区| 久久精品国产亚洲一区二区三区| 一本色道久久综合亚洲精品按摩| 欧美国产日本高清在线| 欧美在线观看视频一区二区三区| 99视频精品在线| 亚洲全黄一级网站| 在线观看成人网| 国产夜色精品一区二区av| 国产精品久久久久久亚洲调教| 欧美精品一区二区在线观看| 久久综合一区二区| 久久躁日日躁aaaaxxxx| 久久久久九九视频| 久久精品国产欧美亚洲人人爽| 亚洲欧美在线一区二区| 亚洲影院免费观看| 亚洲图片在线| 亚洲午夜电影| 亚洲综合第一页| 亚洲欧美不卡| 亚洲欧美国产高清va在线播| 亚洲天堂免费在线观看视频| 亚洲亚洲精品三区日韩精品在线视频| 亚洲精品小视频在线观看| 亚洲精品在线看| 日韩一区二区精品| 一二三区精品| 亚洲欧美日韩精品在线| 午夜精品www| 久久精品青青大伊人av| 久久综合色影院| 农村妇女精品| 欧美日韩国产在线看| 欧美日韩一区二区三区视频| 国产精品久久久久久久久免费 | 欧美成人69av| 欧美精品自拍偷拍动漫精品| 欧美久久久久久久久久| 国产精品久久久免费| 国内精品久久久久影院色| 亚洲国产精品尤物yw在线观看| 亚洲全部视频| 西瓜成人精品人成网站| 久久这里有精品视频| 亚洲福利在线看| 亚洲线精品一区二区三区八戒| 亚洲一区二区三区影院| 久久久一区二区| 欧美伦理在线观看| 国产精品亚洲美女av网站| 一区二区亚洲精品国产| 99视频日韩| 久久亚洲精品视频| 日韩视频精品在线| 欧美一区二区三区免费视频| 欧美成人午夜免费视在线看片| 国产精品美女久久久久久2018| 有码中文亚洲精品| 亚洲一区久久| 欧美高清一区| 亚洲免费在线看| 欧美激情一区二区在线 | 欧美午夜不卡视频| 国内精品久久久久影院优 | 国语精品中文字幕| 夜久久久久久| 久久米奇亚洲| 日韩一级大片| 狂野欧美激情性xxxx| 国产精品视区| 日韩网站在线观看| 女人色偷偷aa久久天堂| 亚洲欧美中文在线视频| 欧美国产日韩一区二区|