Assembla home | Assembla project page
 

Changeset 427

Show
Ignore:
Timestamp:
07/06/08 23:45:25 (2 years ago)
Author:
kyle
Message:

[Added] Deathwatch Bunker
[Fixed] Ft. Tusken Aggro
Thanks to Macrona and rapter13

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • core3devel/MMOCoreORB/bin/config.lua

    r365 r427  
    5050 
    5151 
    52 DBHost = "127.0.0.1
     52DBHost = "192.168.1.180
    5353DBPort = 3306 
    54 DBName = "swgemu
    55 DBUser = "swgemu
    56 DBPass = "123456
     54DBName = "swgemu2
     55DBUser = "root
     56DBPass = "351windsor
    5757 
    5858LoginPort = 44453 
  • core3devel/MMOCoreORB/bin/scripts/creatures/creatureObjects.lua

    r392 r427  
    206206 
    207207---------------------------------------------------- 
     208 
     209-- Death Watch Bunker 
     210 
     211RunCreatureFile("objects/creatures/battleDroidDWB.lua") 
     212RunCreatureFile("objects/creatures/blackSunThugDWB.lua") 
     213RunCreatureFile("objects/creatures/blackSunHenchmanDWB.lua") 
     214RunCreatureFile("objects/creatures/blackSunAssassinDWB.lua") 
     215RunCreatureFile("objects/creatures/deathWatchGhostDWB.lua") 
     216RunCreatureFile("objects/creatures/deathWatchBloodguardDWB.lua") 
     217RunCreatureFile("objects/creatures/deathWatchWraithDWB.lua") 
     218RunCreatureFile("objects/creatures/superBattleDroidDWB.lua") 
     219RunCreatureFile("objects/creatures/mineRatDWB.lua") 
     220RunCreatureFile("objects/creatures/technicianDWB.lua") 
     221RunCreatureFile("objects/creatures/minerDWB.lua") 
     222RunCreatureFile("objects/creatures/engineerDWB.lua") 
     223RunCreatureFile("objects/creatures/deathWatchOverlordDWB.lua") 
     224 
     225 
     226--- lulz 
     227 
     228RunCreatureFile("objects/creatures/twilekSlave.lua") 
  • core3devel/MMOCoreORB/bin/scripts/creatures/objects/creatures/tuskenCaptain.lua

    r387 r427  
    5050        level = 120, 
    5151         
    52         combatFlags = ATTACKABLE_FLAG + ENEMY_FLAG
     52        combatFlags = ATTACKABLE_FLAG + ENEMY_FLAG + AGGRESSIVE_FLAG
    5353 
    5454        health = 80000, 
  • core3devel/MMOCoreORB/bin/scripts/creatures/objects/creatures/tuskenEliteGuard.lua

    r352 r427  
    5050        level = 44, 
    5151         
    52         combatFlags = ATTACKABLE_FLAG + ENEMY_FLAG
     52        combatFlags = ATTACKABLE_FLAG + ENEMY_FLAG + AGGRESSIVE_FLAG
    5353 
    5454        health= 6500, 
  • core3devel/MMOCoreORB/bin/scripts/creatures/objects/creatures/tuskenExecutioner.lua

    r381 r427  
    5050        level = 263, 
    5151         
    52         combatFlags = ATTACKABLE_FLAG + ENEMY_FLAG
     52        combatFlags = ATTACKABLE_FLAG + ENEMY_FLAG + AGGRESSIVE_FLAG
    5353 
    5454        health = 290000, 
  • core3devel/MMOCoreORB/bin/scripts/creatures/objects/creatures/tuskenKing.lua

    r381 r427  
    5050        level = 150, 
    5151         
    52         combatFlags = ATTACKABLE_FLAG + ENEMY_FLAG
     52        combatFlags = ATTACKABLE_FLAG + ENEMY_FLAG + AGGRESSIVE_FLAG
    5353 
    5454        health = 120000, 
  • core3devel/MMOCoreORB/bin/scripts/creatures/objects/creatures/tuskenObserver.lua

    r381 r427  
    5050        level = 227, 
    5151         
    52         combatFlags = ATTACKABLE_FLAG + ENEMY_FLAG
     52        combatFlags = ATTACKABLE_FLAG + ENEMY_FLAG + AGGRESSIVE_FLAG
    5353 
    5454        health = 230765, 
  • core3devel/MMOCoreORB/bin/scripts/creatures/objects/creatures/tuskenRaider.lua

    r381 r427  
    5050        level = 65, 
    5151         
    52         combatFlags = ATTACKABLE_FLAG + ENEMY_FLAG
     52        combatFlags = ATTACKABLE_FLAG + ENEMY_FLAG + AGGRESSIVE_FLAG
    5353 
    5454        health = 10400, 
  • core3devel/MMOCoreORB/bin/scripts/creatures/objects/creatures/tuskenSniper.lua

    r352 r427  
    5050        level = 22, 
    5151         
    52         combatFlags = ATTACKABLE_FLAG + ENEMY_FLAG
     52        combatFlags = ATTACKABLE_FLAG + ENEMY_FLAG + AGGRESSIVE_FLAG
    5353 
    5454        health = 2400, 
  • core3devel/MMOCoreORB/bin/scripts/creatures/objects/creatures/tuskenWarlord.lua

    r352 r427  
    5050        level = 62, 
    5151         
    52         combatFlags = ATTACKABLE_FLAG + ENEMY_FLAG
     52        combatFlags = ATTACKABLE_FLAG + ENEMY_FLAG + AGGRESSIVE_FLAG
    5353 
    5454        health = 78000, 
  • core3devel/MMOCoreORB/bin/scripts/creatures/objects/creatures/tuskenWarrior.lua

    r381 r427  
    5050        level = 80, 
    5151         
    52         combatFlags = ATTACKABLE_FLAG + ENEMY_FLAG
     52        combatFlags = ATTACKABLE_FLAG + ENEMY_FLAG + AGGRESSIVE_FLAG
    5353 
    5454        health= 8500, 
  • core3devel/MMOCoreORB/bin/scripts/creatures/objects/creatures/tuskenWitchDoctor.lua

    r352 r427  
    5050        level = 202, 
    5151         
    52         combatFlags = ATTACKABLE_FLAG + ENEMY_FLAG
     52        combatFlags = ATTACKABLE_FLAG + ENEMY_FLAG + AGGRESSIVE_FLAG
    5353 
    5454        health = 178000, 
  • core3devel/MMOCoreORB/bin/scripts/creatures/spawns.lua

    r392 r427  
    5858RunCreatureFile("spawns/corellia/lordNyaxCult.lua") 
    5959RunCreatureFile("spawns/corellia/rogueCorsec.lua") 
     60 
     61-- Endor 
     62RunCreatureFile("spawns/endor/deathWatchBunker.lua") 
  • core3devel/MMOCoreORB/bin/scripts/skills/skills.lua

    r392 r427  
    116116RunSkillsFile("creatureSkills/afarathuAttacks.lua") 
    117117RunSkillsFile("creatureSkills/drallAttacks.lua") 
     118RunSkillsFile("creatureSkills/dwbAttacks.lua") 
     119RunSkillsFile("creatureSkills/mineRatAttacks.lua") 
     120RunSkillsFile("creatureSkills/dwbSBDAttacks.lua") 
     121RunSkillsFile("creatureSkills/dwbMeleeAttacks.lua") 
  • core3devel/MMOCoreORB/build/unix/Makefile

    r411 r427  
    117117distuninstallcheck_listfiles = find . -type f -print 
    118118distcleancheck_listfiles = find . -type f -print 
    119 ACLOCAL = ${SHELL} /home/Administrator/workspace/MMOCoreORB/build/unix/config/missing --run aclocal-1.10 
    120 AMTAR = ${SHELL} /home/Administrator/workspace/MMOCoreORB/build/unix/config/missing --run tar 
    121 AUTOCONF = ${SHELL} /home/Administrator/workspace/MMOCoreORB/build/unix/config/missing --run autoconf 
    122 AUTOHEADER = ${SHELL} /home/Administrator/workspace/MMOCoreORB/build/unix/config/missing --run autoheader 
    123 AUTOMAKE = ${SHELL} /home/Administrator/workspace/MMOCoreORB/build/unix/config/missing --run automake-1.10 
     119ACLOCAL = ${SHELL} /cygdrive/c/workspace2/MMOCoreORB2/build/unix/config/missing --run aclocal-1.10 
     120AMTAR = ${SHELL} /cygdrive/c/workspace2/MMOCoreORB2/build/unix/config/missing --run tar 
     121AUTOCONF = ${SHELL} /cygdrive/c/workspace2/MMOCoreORB2/build/unix/config/missing --run autoconf 
     122AUTOHEADER = ${SHELL} /cygdrive/c/workspace2/MMOCoreORB2/build/unix/config/missing --run autoheader 
     123AUTOMAKE = ${SHELL} /cygdrive/c/workspace2/MMOCoreORB2/build/unix/config/missing --run automake-1.10 
    124124AWK = gawk 
    125125CFLAGS =  
     
    144144LIBS =  
    145145LTLIBOBJS =  
    146 MAKEINFO = ${SHELL} /home/Administrator/workspace/MMOCoreORB/build/unix/config/missing --run makeinfo 
     146MAKEINFO = ${SHELL} /cygdrive/c/workspace2/MMOCoreORB2/build/unix/config/missing --run makeinfo 
    147147MKDIR_P = /usr/bin/mkdir -p 
    148148OBJEXT = o 
     
    163163USER_LIBS_PATH = /usr/local/lib 
    164164VERSION = 1.0 
    165 abs_builddir = /home/Administrator/workspace/MMOCoreORB/build/unix 
    166 abs_srcdir = /home/Administrator/workspace/MMOCoreORB/build/unix/../.. 
    167 abs_top_builddir = /home/Administrator/workspace/MMOCoreORB/build/unix 
    168 abs_top_srcdir = /home/Administrator/workspace/MMOCoreORB/build/unix/../.. 
     165abs_builddir = /cygdrive/c/workspace2/MMOCoreORB2/build/unix 
     166abs_srcdir = /cygdrive/c/workspace2/MMOCoreORB2/build/unix/../.. 
     167abs_top_builddir = /cygdrive/c/workspace2/MMOCoreORB2/build/unix 
     168abs_top_srcdir = /cygdrive/c/workspace2/MMOCoreORB2/build/unix/../.. 
    169169ac_ct_CXX = g++ 
    170170am__include = include 
     
    193193includedir = ${prefix}/include 
    194194infodir = ${datarootdir}/info 
    195 install_sh = $(SHELL) /home/Administrator/workspace/MMOCoreORB/build/unix/config/install-sh 
     195install_sh = $(SHELL) /cygdrive/c/workspace2/MMOCoreORB2/build/unix/config/install-sh 
    196196libdir = ${exec_prefix}/lib 
    197197libexecdir = ${exec_prefix}/libexec 
  • core3devel/MMOCoreORB/build/unix/config.log

    r411 r427  
    1111## --------- ## 
    1212 
    13 hostname = joe-a3bbb575c6b 
     13hostname = Kyle-PC 
    1414uname -m = i686 
    1515uname -r = 1.5.25(0.156/4/2) 
    16 uname -s = CYGWIN_NT-5.1 
    17 uname -v = 2008-03-05 19:27 
     16uname -s = CYGWIN_NT-6.0-WOW64 
     17uname -v = 2008-04-17 12:11 
    1818 
    1919/usr/bin/uname -p = unknown 
     
    2828/bin/universe          = unknown 
    2929 
    30 PATH: /usr/local/bin 
     30PATH: /cygdrive/c/Program Files (x86)/Java/jre1.6.0_06/bin/client 
     31PATH: /cygdrive/c/Program Files (x86)/Java/jre1.6.0_06/bin 
     32PATH: /cygdrive/c/Windows/system32 
     33PATH: /cygdrive/c/Windows 
     34PATH: /cygdrive/c/Windows/System32/Wbem 
    3135PATH: /usr/bin 
    32 PATH: /bin 
    33 PATH: /usr/X11R6/bin 
    34 PATH: /cygdrive/c/WINDOWS/system32 
    35 PATH: /cygdrive/c/WINDOWS 
    36 PATH: /cygdrive/c/WINDOWS/System32/Wbem 
    37 PATH: /cygdrive/c/Program Files/Microsoft SQL Server/90/Tools/binn/ 
    38 PATH: /usr/bin 
    39 PATH: /cygdrive/c/Program Files/MySQL/MySQL Server 5.0/bin 
    40 PATH: /usr/lib/lapack 
     36PATH: /cygdrive/c/Program Files (x86)/Microsoft SQL Server/90/Tools/binn/ 
    4137 
    4238 
     
    130126  $ ./config.status  
    131127 
    132 on joe-a3bbb575c6b 
     128on Kyle-PC 
    133129 
    134130config.status:651: creating Makefile 
     
    144140ac_cv_build=i686-pc-cygwin 
    145141ac_cv_cxx_compiler_gnu=yes 
     142ac_cv_env_build_alias_set= 
     143ac_cv_env_build_alias_value= 
    146144ac_cv_env_CCC_set= 
    147145ac_cv_env_CCC_value= 
    148146ac_cv_env_CPPFLAGS_set= 
    149147ac_cv_env_CPPFLAGS_value= 
     148ac_cv_env_CXX_set= 
     149ac_cv_env_CXX_value= 
    150150ac_cv_env_CXXFLAGS_set= 
    151151ac_cv_env_CXXFLAGS_value= 
    152 ac_cv_env_CXX_set= 
    153 ac_cv_env_CXX_value= 
     152ac_cv_env_host_alias_set= 
     153ac_cv_env_host_alias_value= 
    154154ac_cv_env_LDFLAGS_set= 
    155155ac_cv_env_LDFLAGS_value= 
    156156ac_cv_env_LIBS_set= 
    157157ac_cv_env_LIBS_value= 
    158 ac_cv_env_build_alias_set= 
    159 ac_cv_env_build_alias_value= 
    160 ac_cv_env_host_alias_set= 
    161 ac_cv_env_host_alias_value= 
    162158ac_cv_env_target_alias_set= 
    163159ac_cv_env_target_alias_value= 
     
    167163ac_cv_path_install='/usr/bin/install -c' 
    168164ac_cv_path_mkdir=/usr/bin/mkdir 
    169 ac_cv_prog_AWK=gawk 
    170165ac_cv_prog_ac_ct_CXX=g++ 
    171166ac_cv_prog_ac_ct_RANLIB=ranlib 
     167ac_cv_prog_AWK=gawk 
    172168ac_cv_prog_cxx_g=yes 
    173169ac_cv_prog_make_make_set=yes 
     
    179175## ----------------- ## 
    180176 
    181 ACLOCAL='${SHELL} /home/Administrator/workspace/MMOCoreORB/build/unix/config/missing --run aclocal-1.10' 
    182 AMDEPBACKSLASH='\' 
    183 AMDEP_FALSE='#' 
    184 AMDEP_TRUE='' 
    185 AMTAR='${SHELL} /home/Administrator/workspace/MMOCoreORB/build/unix/config/missing --run tar' 
    186 AUTOCONF='${SHELL} /home/Administrator/workspace/MMOCoreORB/build/unix/config/missing --run autoconf' 
    187 AUTOHEADER='${SHELL} /home/Administrator/workspace/MMOCoreORB/build/unix/config/missing --run autoheader' 
    188 AUTOMAKE='${SHELL} /home/Administrator/workspace/MMOCoreORB/build/unix/config/missing --run automake-1.10' 
    189 AWK='gawk' 
    190 CFLAGS='' 
    191 CPPFLAGS='' 
    192 CXX='g++' 
    193 CXXDEPMODE='depmode=gcc3' 
    194 CXXFLAGS='  ' 
    195 CYGPATH_W='cygpath -w' 
    196 DEFS='-DHAVE_CONFIG_H' 
    197 DEPDIR='.deps' 
    198 ECHO_C='' 
    199 ECHO_N='-n' 
    200 ECHO_T='' 
    201 EXEEXT='.exe' 
    202 INSTALL_DATA='${INSTALL} -m 644' 
    203 INSTALL_PROGRAM='${INSTALL}' 
    204 INSTALL_SCRIPT='${INSTALL}' 
    205 INSTALL_STRIP_PROGRAM='$(install_sh) -c -s' 
    206 LDFLAGS='' 
    207 LIBOBJS='' 
    208 LIBS='' 
    209 LTLIBOBJS='' 
    210 MAKEINFO='${SHELL} /home/Administrator/workspace/MMOCoreORB/build/unix/config/missing --run makeinfo' 
    211 OBJEXT='o' 
    212 PACKAGE='core3' 
    213 PACKAGE_BUGREPORT='' 
    214 PACKAGE_NAME='core3' 
    215 PACKAGE_STRING='core3 1.0' 
    216 PACKAGE_TARNAME='core3' 
    217 PACKAGE_VERSION='1.0' 
    218 PATH_SEPARATOR=':' 
    219 RANLIB='ranlib' 
    220 SET_MAKE='' 
    221 SHELL='/bin/sh' 
    222 STRIP='' 
    223 SYSTEM_INCLUDES='' 
    224 SYSTEM_LIBS='-lpthread -lwsock32' 
    225 USER_INCLUDES_PATH='/usr/local/include' 
    226 USER_LIBS_PATH='/usr/local/lib' 
    227 VERSION='1.0' 
    228177ac_ct_CXX='g++' 
     178ACLOCAL='${SHELL} /cygdrive/c/workspace2/MMOCoreORB2/build/unix/config/missing --run aclocal-1.10' 
    229179am__fastdepCXX_FALSE='#' 
    230180am__fastdepCXX_TRUE='' 
     
    235185am__tar='${AMTAR} chof - "$$tardir"' 
    236186am__untar='${AMTAR} xf -' 
     187AMDEP_FALSE='#' 
     188AMDEP_TRUE='' 
     189AMDEPBACKSLASH='\' 
     190AMTAR='${SHELL} /cygdrive/c/workspace2/MMOCoreORB2/build/unix/config/missing --run tar' 
     191AUTOCONF='${SHELL} /cygdrive/c/workspace2/MMOCoreORB2/build/unix/config/missing --run autoconf' 
     192AUTOHEADER='${SHELL} /cygdrive/c/workspace2/MMOCoreORB2/build/unix/config/missing --run autoheader' 
     193AUTOMAKE='${SHELL} /cygdrive/c/workspace2/MMOCoreORB2/build/unix/config/missing --run automake-1.10' 
     194AWK='gawk' 
    237195bindir='${exec_prefix}/bin' 
    238 build='i686-pc-cygwin' 
    239196build_alias='' 
    240197build_cpu='i686' 
    241198build_os='cygwin' 
    242199build_vendor='pc' 
     200build='i686-pc-cygwin' 
     201CFLAGS='' 
     202CPPFLAGS='' 
     203CXX='g++' 
     204CXXDEPMODE='depmode=gcc3' 
     205CXXFLAGS='  ' 
     206CYGPATH_W='cygpath -w' 
    243207datadir='${datarootdir}' 
    244208datarootdir='${prefix}/share' 
     209DEFS='-DHAVE_CONFIG_H' 
     210DEPDIR='.deps' 
    245211docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' 
    246212dvidir='${docdir}' 
     213ECHO_C='' 
     214ECHO_N='-n' 
     215ECHO_T='' 
    247216exec_prefix='${prefix}' 
    248 host='i686-pc-cygwin
     217EXEEXT='.exe
    249218host_alias='' 
    250219host_cpu='i686' 
    251220host_os='cygwin' 
    252221host_vendor='pc' 
     222host='i686-pc-cygwin' 
    253223htmldir='${docdir}' 
    254224includedir='${prefix}/include' 
    255225infodir='${datarootdir}/info' 
    256 install_sh='$(SHELL) /home/Administrator/workspace/MMOCoreORB/build/unix/config/install-sh' 
     226INSTALL_DATA='${INSTALL} -m 644' 
     227INSTALL_PROGRAM='${INSTALL}' 
     228INSTALL_SCRIPT='${INSTALL}' 
     229install_sh='$(SHELL) /cygdrive/c/workspace2/MMOCoreORB2/build/unix/config/install-sh' 
     230INSTALL_STRIP_PROGRAM='$(install_sh) -c -s' 
     231LDFLAGS='' 
    257232libdir='${exec_prefix}/lib' 
    258233libexecdir='${exec_prefix}/libexec' 
     234LIBOBJS='' 
     235LIBS='' 
    259236localedir='${datarootdir}/locale' 
    260237localstatedir='${prefix}/var' 
     238LTLIBOBJS='' 
     239MAKEINFO='${SHELL} /cygdrive/c/workspace2/MMOCoreORB2/build/unix/config/missing --run makeinfo' 
    261240mandir='${datarootdir}/man' 
    262241mkdir_p='/usr/bin/mkdir -p' 
     242OBJEXT='o' 
    263243oldincludedir='/usr/include' 
     244PACKAGE_BUGREPORT='' 
     245PACKAGE_NAME='core3' 
     246PACKAGE_STRING='core3 1.0' 
     247PACKAGE_TARNAME='core3' 
     248PACKAGE_VERSION='1.0' 
     249PACKAGE='core3' 
     250PATH_SEPARATOR=':' 
    264251pdfdir='${docdir}' 
    265252prefix='/usr/local' 
    266253program_transform_name='s,x,x,' 
    267254psdir='${docdir}' 
     255RANLIB='ranlib' 
    268256sbindir='${exec_prefix}/sbin' 
     257SET_MAKE='' 
    269258sharedstatedir='${prefix}/com' 
     259SHELL='/bin/sh' 
     260STRIP='' 
    270261sysconfdir='${prefix}/etc' 
    271 target='i686-pc-cygwin' 
     262SYSTEM_INCLUDES='' 
     263SYSTEM_LIBS='-lpthread -lwsock32' 
    272264target_alias='' 
    273265target_cpu='i686' 
    274266target_os='cygwin' 
    275267target_vendor='pc' 
     268target='i686-pc-cygwin' 
     269USER_INCLUDES_PATH='/usr/local/include' 
     270USER_LIBS_PATH='/usr/local/lib' 
     271VERSION='1.0' 
    276272 
    277273## ----------- ## 
  • core3devel/MMOCoreORB/build/unix/config.status

    r411 r427  
    342342gives unlimited permission to copy, distribute and modify it." 
    343343 
    344 ac_pwd='/home/Administrator/workspace/MMOCoreORB/build/unix' 
     344ac_pwd='/cygdrive/c/workspace2/MMOCoreORB2/build/unix' 
    345345srcdir='../..' 
    346346INSTALL='/usr/bin/install -c' 
     
    553553s,@PACKAGE@,|#_!!_#|core3,g 
    554554s,@VERSION@,|#_!!_#|1.0,g 
    555 s,@ACLOCAL@,|#_!!_#|${SHELL} /home/Administrator/workspace/MMOCoreORB/build/unix/config/missing --run aclocal-1.10,g 
    556 s,@AUTOCONF@,|#_!!_#|${SHELL} /home/Administrator/workspace/MMOCoreORB/build/unix/config/missing --run autoconf,g 
    557 s,@AUTOMAKE@,|#_!!_#|${SHELL} /home/Administrator/workspace/MMOCoreORB/build/unix/config/missing --run automake-1.10,g 
    558 s,@AUTOHEADER@,|#_!!_#|${SHELL} /home/Administrator/workspace/MMOCoreORB/build/unix/config/missing --run autoheader,g 
    559 s,@MAKEINFO@,|#_!!_#|${SHELL} /home/Administrator/workspace/MMOCoreORB/build/unix/config/missing --run makeinfo,g 
    560 s,@install_sh@,|#_!!_#|$(SHELL) /home/Administrator/workspace/MMOCoreORB/build/unix/config/install-sh,g 
     555s,@ACLOCAL@,|#_!!_#|${SHELL} /cygdrive/c/workspace2/MMOCoreORB2/build/unix/config/missing --run aclocal-1.10,g 
     556s,@AUTOCONF@,|#_!!_#|${SHELL} /cygdrive/c/workspace2/MMOCoreORB2/build/unix/config/missing --run autoconf,g 
     557s,@AUTOMAKE@,|#_!!_#|${SHELL} /cygdrive/c/workspace2/MMOCoreORB2/build/unix/config/missing --run automake-1.10,g 
     558s,@AUTOHEADER@,|#_!!_#|${SHELL} /cygdrive/c/workspace2/MMOCoreORB2/build/unix/config/missing --run autoheader,g 
     559s,@MAKEINFO@,|#_!!_#|${SHELL} /cygdrive/c/workspace2/MMOCoreORB2/build/unix/config/missing --run makeinfo,g 
     560s,@install_sh@,|#_!!_#|$(SHELL) /cygdrive/c/workspace2/MMOCoreORB2/build/unix/config/install-sh,g 
    561561s,@STRIP@,|#_!!_#|,g 
    562562s,@INSTALL_STRIP_PROGRAM@,|#_!!_#|$(install_sh) -c -s,g 
     
    565565s,@SET_MAKE@,|#_!!_#|,g 
    566566s,@am__leading_dot@,|#_!!_#|.,g 
    567 s,@AMTAR@,|#_!!_#|${SHELL} /home/Administrator/workspace/MMOCoreORB/build/unix/config/missing --run tar,g 
     567s,@AMTAR@,|#_!!_#|${SHELL} /cygdrive/c/workspace2/MMOCoreORB2/build/unix/config/missing --run tar,g 
    568568s,@am__tar@,|#_!!_#|${AMTAR} chof - "$$tardir",g 
    569569s,@am__untar@,|#_!!_#|${AMTAR} xf -,g 
  • core3devel/MMOCoreORB/src/server/zone/objects/creature/CreatureImplementation.cpp

    r425 r427  
    11/* 
    22Copyright (C) 2007 <SWGEmu> 
    3   
     3 
    44This File is part of Core3. 
    5   
    6 This program is free software; you can redistribute  
    7 it and/or modify it under the terms of the GNU Lesser  
     5 
     6This program is free software; you can redistribute 
     7it and/or modify it under the terms of the GNU Lesser 
    88General Public License as published by the Free Software 
    9 Foundation; either version 2 of the License,  
     9Foundation; either version 2 of the License, 
    1010or (at your option) any later version. 
    11   
    12 This program is distributed in the hope that it will be useful,  
    13 but WITHOUT ANY WARRANTY; without even the implied warranty of  
    14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
     11 
     12This program is distributed in the hope that it will be useful, 
     13but WITHOUT ANY WARRANTY; without even the implied warranty of 
     14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
    1515See the GNU Lesser General Public License for 
    1616more details. 
    17   
    18 You should have received a copy of the GNU Lesser General  
     17 
     18You should have received a copy of the GNU Lesser General 
    1919Public License along with this program; if not, write to 
    2020the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 
    21   
    22 Linking Engine3 statically or dynamically with other modules  
    23 is making a combined work based on Engine3.  
    24 Thus, the terms and conditions of the GNU Lesser General Public License  
     21 
     22Linking Engine3 statically or dynamically with other modules 
     23is making a combined work based on Engine3. 
     24Thus, the terms and conditions of the GNU Lesser General Public License 
    2525cover the whole combination. 
    26   
    27 In addition, as a special exception, the copyright holders of Engine3  
    28 give you permission to combine Engine3 program with free software  
    29 programs or libraries that are released under the GNU LGPL and with  
    30 code included in the standard release of Core3 under the GNU LGPL  
    31 license (or modified versions of such code, with unchanged license).  
    32 You may copy and distribute such a system following the terms of the  
    33 GNU LGPL for Engine3 and the licenses of the other code concerned,  
    34 provided that you include the source code of that other code when  
     26 
     27In addition, as a special exception, the copyright holders of Engine3 
     28give you permission to combine Engine3 program with free software 
     29programs or libraries that are released under the GNU LGPL and with 
     30code included in the standard release of Core3 under the GNU LGPL 
     31license (or modified versions of such code, with unchanged license). 
     32You may copy and distribute such a system following the terms of the 
     33GNU LGPL for Engine3 and the licenses of the other code concerned, 
     34provided that you include the source code of that other code when 
    3535and as the GNU LGPL requires distribution of source code. 
    36   
    37 Note that people who make modified versions of Engine3 are not obligated  
    38 to grant this special exception for their modified versions;  
    39 it is their choice whether to do so. The GNU Lesser General Public License  
    40 gives permission to release a modified version without this exception;  
    41 this exception also makes it possible to release a modified version  
     36 
     37Note that people who make modified versions of Engine3 are not obligated 
     38to grant this special exception for their modified versions; 
     39it is their choice whether to do so. The GNU Lesser General Public License 
     40gives permission to release a modified version without this exception; 
     41this exception also makes it possible to release a modified version 
    4242which carries forward this exception. 
    4343*/ 
     
    4848#include "../../packets.h" 
    4949 
    50 #include "../tangible/Inventory.h"  
    51 #include "../tangible/Container.h"  
     50#include "../tangible/Inventory.h" 
     51#include "../tangible/Container.h" 
    5252 
    5353#include "../terrain/Terrain.h" 
     
    7474        objectID = oid; 
    7575        type = CREATURE; 
    76          
     76 
    7777        baseID = oid; 
    78          
     78 
    7979        stfName = "mob/creature_names"; 
    8080 
    8181        creatureGroup = group; 
    82          
     82 
    8383        setKeeping(true); 
    8484 
     
    8989        if (nextPosition != NULL) { 
    9090                delete nextPosition; 
    91                  
     91 
    9292                nextPosition = NULL; 
    9393        } 
    94          
     94 
    9595        if (spawnPosition != NULL) { 
    9696                delete spawnPosition; 
    97                  
     97 
    9898                spawnPosition = NULL; 
    9999        } 
     
    113113        // constants 
    114114        itemShift = 100; 
    115          
     115 
    116116        activityCount = 0; 
    117117        highestMadeDamage = 0; 
    118          
     118 
    119119        respawnTimer = 60; 
    120          
     120 
    121121        lair = NULL; 
    122          
     122 
    123123        level = 250; 
    124          
     124 
    125125        nextPosition = new PatrolPoint(); 
    126          
     126 
    127127        spawnPosition = new PatrolPoint(); 
    128          
     128 
    129129        randomizeRespawn = false; 
    130          
     130 
    131131        actualSpeed = 0.f; 
    132          
     132 
    133133        movementCounter = 0; 
    134134 
     
    136136        aggroedCreature = NULL; 
    137137        willAggro = false; 
    138          
     138 
    139139        lootCreated = false; 
    140          
     140 
    141141        setObjectKeeping(true); 
    142          
     142 
    143143        stringstream logname; 
    144144        logname << "NPC = 0x" << hex << objectID; 
    145145 
    146146        setLockName(logname.str()); 
    147          
     147 
    148148        setLoggingName(logname.str()); 
    149          
     149 
    150150        setLogging(false); 
    151151        setGlobalLogging(true); 
     
    180180        if (stun == 100) 
    181181                alm->insertAttribute("cat_armor_special_protection.armor_eff_stun", "100%"); 
    182                  
     182 
    183183        if (blast == 100) 
    184184                alm->insertAttribute("cat_armor_special_protection.armor_eff_blast", "100%"); 
     
    202202                alm->insertAttribute("cat_armor_effectiveness.armor_eff_kinetic", txt.str()); 
    203203        } 
    204          
     204 
    205205        if (energy > 0 && energy < 100) { 
    206206                stringstream txt; 
     
    208208                alm->insertAttribute("cat_armor_effectiveness.armor_eff_energy", txt.str()); 
    209209        } 
    210          
     210 
    211211        if (electricity > 0 && electricity < 100) { 
    212212                stringstream txt; 
     
    214214                alm->insertAttribute("cat_armor_effectiveness.armor_eff_elemental_electrical", txt.str()); 
    215215        } 
    216          
     216 
    217217        if (stun > 0 && stun < 100) { 
    218218                stringstream txt; 
     
    220220                alm->insertAttribute("cat_armor_effectiveness.armor_eff_stun", txt.str()); 
    221221        } 
    222          
     222 
    223223        if (blast > 0 && blast < 100) { 
    224224                stringstream txt; 
     
    226226                alm->insertAttribute("cat_armor_effectiveness.armor_eff_blast", txt.str()); 
    227227        } 
    228          
     228 
    229229        if (heat > 0 && heat < 100) { 
    230230                stringstream txt; 
     
    232232                alm->insertAttribute("cat_armor_effectiveness.armor_eff_elemental_heat", txt.str()); 
    233233        } 
    234          
     234 
    235235        if (cold > 0 && cold < 100) { 
    236236                stringstream txt; 
     
    238238                alm->insertAttribute("cat_armor_effectiveness.armor_eff_elemental_cold", txt.str()); 
    239239        } 
    240          
     240 
    241241        if (acid > 0 && acid < 100) { 
    242242                stringstream txt; 
     
    244244                alm->insertAttribute("cat_armor_effectiveness.armor_eff_elemental_acid", txt.str()); 
    245245        } 
    246          
     246 
    247247        if (lightSaber > 0 && lightSaber < 100) { 
    248248                stringstream txt; 
     
    283283void CreatureImplementation::reload() { 
    284284        creatureManager->respawnCreature(_this); 
    285                  
     285 
    286286        resetState(); 
    287287 
    288288        insertToZone(zone); 
    289          
     289 
    290290        info("creature respawned"); 
    291291} 
     
    295295 
    296296        clearTarget(); 
    297          
     297 
    298298        clearLootItems(); 
    299          
     299 
    300300        resetPatrolPoints(false); 
    301301 
     
    304304 
    305305        creatureManager->despawnCreature(_this); 
    306          
     306 
    307307        setPosition(spawnPosition->getPositionX(), spawnPosition->getPositionZ(), spawnPosition->getPositionY()); 
    308          
     308 
    309309        uint64 respawnCellID = spawnPosition->getCellID(); 
    310          
     310 
    311311        if (respawnCellID != 0) 
    312312                parent = zone->lookupObject(respawnCellID); 
    313          
     313 
    314314        info("creature despawned"); 
    315315} 
     
    318318        while (!lootContainer->isEmpty()) { 
    319319                SceneObject* object = lootContainer->getObject((int)0); 
    320                  
     320 
    321321                lootContainer->removeObject((int)0); 
    322                  
     322 
    323323                object->finalize(); 
    324324        } 
    325          
     325 
    326326        setCashCredits(0); 
    327          
     327 
    328328        lootCreated = false; 
    329329} 
     
    331331void CreatureImplementation::loadItems() { 
    332332        inventory = new Inventory(_this); 
    333          
     333 
    334334        lootContainer = new CreatureInventory(_this); 
    335          
     335 
    336336        Weapon* weapon = NULL; 
    337          
     337 
    338338        if (objectCRC == 0x738E0B1F) { //Zealot of Lord Nyax + Diciple of Lord Nyax 
    339339                weapon = new CarbineRangedWeapon(_this, "object/weapon/ranged/carbine/shared_carbine_laser.iff", unicode("a Laser Carbine"), "carbine_laser", true); 
     
    342342                weapon->setAttackSpeed(1.5); 
    343343                weapon->setDamageType(WeaponImplementation::ENERGY); 
    344                 weapon->setArmorPiercing(WeaponImplementation::MEDIUM);         
    345         }               
    346         else if (objectCRC == 0xE275ECBB || objectCRC == 0xE275ECBB || objectCRC == 0xA1048F8A || objectCRC == 0xD084273F || objectCRC == 0x7477AB80) {  
     344                weapon->setArmorPiercing(WeaponImplementation::MEDIUM); 
     345        } 
     346        else if (objectCRC == 0xE275ECBB || objectCRC == 0xE275ECBB || objectCRC == 0xA1048F8A || objectCRC == 0xD084273F || objectCRC == 0x7477AB80) { 
    347347                //Imperial GeneralMajor // Imperial General // Imperial High Colonel / Imperial Surface Marshall // Imperial Major 
    348348                weapon = new PistolRangedWeapon(_this, "object/weapon/ranged/pistol/shared_pistol_dl44.iff", unicode("a DL-44 Pistol"), "pistol_dl44", true); 
     
    351351                weapon->setAttackSpeed(2.5); 
    352352                weapon->setDamageType(WeaponImplementation::ENERGY); 
    353                 weapon->setArmorPiercing(WeaponImplementation::LIGHT);  
     353                weapon->setArmorPiercing(WeaponImplementation::LIGHT); 
    354354                setImperial(); 
    355355        } 
     
    362362                weapon->setArmorPiercing(WeaponImplementation::LIGHT); 
    363363                setImperial(); 
    364         }       
     364        } 
    365365        else if (objectCRC == 0x4E38DA33) { //Dark trooper 
    366366                //we assign but do not equip the weapon! We just need the line "setImperial" - but without an assigned weapon we will crash (Farmer John, 04. June 2008) 
     
    372372                weapon->setArmorPiercing(WeaponImplementation::LIGHT); 
    373373                setImperial(); 
    374         }  
    375         else if (objectCRC == 0xFCA399 || objectCRC == 0x1BCAE981 ||  
    376                          objectCRC == 0x75A7387A || objectCRC == 0xEF5997EB ||  
    377                          objectCRC == 0xFCA399 || objectCRC == 0xE0B389E5 ||  
     374        } 
     375        else if (objectCRC == 0xFCA399 || objectCRC == 0x1BCAE981 || 
     376                         objectCRC == 0x75A7387A || objectCRC == 0xEF5997EB || 
     377                         objectCRC == 0xFCA399 || objectCRC == 0xE0B389E5 || 
    378378                         objectCRC == 0xFECB7C04 || objectCRC == 0xD96A33B7) { //Corsecs (also used for Rogue Corsecs!) 
    379379                weapon = new PistolRangedWeapon(_this, "object/weapon/ranged/pistol/shared_pistol_cdef_corsec.iff", unicode("Corsec CDEF Pistol"), "pistol_cdef_corsec", true); 
     
    383383                weapon->setDamageType(WeaponImplementation::ENERGY); 
    384384                weapon->setArmorPiercing(WeaponImplementation::LIGHT); 
    385         }       
     385        } 
    386386        else if (objectCRC == 0xFECDC4DE || objectCRC == 0x7EDC1419) { //  AT AT    / AT ST 
    387387                weapon = new RifleRangedWeapon(_this,"object/weapon/ranged/vehicle/shared_vehicle_atst_ranged.iff", unicode("Imperial Cannon"), "vehicle_atst_ranged"); 
    388                 weapon->setAttackSpeed(1.5f);           
     388                weapon->setAttackSpeed(1.5f); 
    389389                setImperial(); 
    390390        } 
    391391        else if (objectCRC == 0x8C70914) { 
    392                 weapon = new OneHandedJediWeapon(_this,  
    393                                 "object/weapon/melee/sword/crafted_saber/shared_sword_lightsaber_one_handed_s4_gen4.iff",  
     392                weapon = new OneHandedJediWeapon(_this, 
     393                                "object/weapon/melee/sword/crafted_saber/shared_sword_lightsaber_one_handed_s4_gen4.iff", 
    394394                                unicode("Darth Saber"), "sword_lightsaber_one_handed_s4_gen4", true); 
    395395                weapon->setDamageType(WeaponImplementation::LIGHTSABER); 
    396396                weapon->setArmorPiercing(WeaponImplementation::NONE); 
    397397        } else if (objectCRC == 0x2B0C220E || objectCRC == 0x476794EB || objectCRC == 0x4A889CCF || 
    398                            objectCRC == 0x6D029623 || objectCRC == 0x4A48B6CC || objectCRC == 0x1527DF01) {  
    399                 // low level SMC, Rebel General                 
     398                           objectCRC == 0x6D029623 || objectCRC == 0x4A48B6CC || objectCRC == 0x1527DF01) { 
     399                // low level SMC, Rebel General 
    400400                switch (System::random(1)) { 
    401401                case 0 : 
     
    408408                        break; 
    409409                case 1 : 
    410                         weapon = new OneHandedMeleeWeapon(_this,  
     410                        weapon = new OneHandedMeleeWeapon(_this, 
    411411                                        "object/weapon/melee/baton/shared_baton_stun.iff", unicode("a Stun Baton"), "baton_stun", true); 
    412412                        weapon->setMinDamage(175 + level); 
     
    425425                        weapon->setDamageType(WeaponImplementation::ENERGY); 
    426426                        weapon->setArmorPiercing(WeaponImplementation::LIGHT); 
    427          
     427 
    428428        } else if (objectCRC ==0x148D60AA) { 
    429429                //melee tusken raider 
     
    435435                        weapon->setArmorPiercing(WeaponImplementation::NONE); 
    436436 
     437        } else if (objectCRC ==0xE21E6148) { 
     438                        //SBD 0xE21E6148 
     439                        weapon = new CarbineRangedWeapon(_this, "object/weapon/ranged/droid/shared_droid_droideka_ranged.iff", unicode("a SBD"), "droideka_ranged", true); 
     440                                weapon->setMinDamage(600 + level); 
     441                                weapon->setMaxDamage(1300 + level); 
     442                                weapon->setAttackSpeed(1.5); 
     443                                weapon->setDamageType(WeaponImplementation::ENERGY); 
     444                                weapon->setArmorPiercing(WeaponImplementation::MEDIUM); 
     445 
     446        } else if (objectCRC ==0xD3C915F9 || objectCRC ==0xB8270A11) { 
     447                        //Death Watch Wraith // Ghosts 
     448                        weapon = new RifleRangedWeapon(_this, "object/weapon/ranged/rifle/shared_rifle_tenloss_dxr6_disruptor_loot.iff", unicode("a Dxr6_Disrupter"), "rifle_dxr6", true); 
     449                                weapon->setMinDamage(500 + level); 
     450                                weapon->setMaxDamage(800 + level); 
     451                                weapon->setAttackSpeed(1.5); 
     452                                weapon->setDamageType(WeaponImplementation::ENERGY); 
     453                                weapon->setArmorPiercing(WeaponImplementation::MEDIUM); 
     454 
     455        } else if (objectCRC ==0xD83D2DEC || objectCRC ==0x730E66DF || objectCRC ==0xAD30C613) { 
     456                        //Black Sun Henchmen Assassin Thug 
     457                        weapon = new RifleRangedWeapon(_this, "object/weapon/ranged/rifle/shared_rifle_tenloss_dxr6_disruptor_loot.iff", unicode("a Dxr6_Disrupter"), "rifle_dxr6", true); 
     458                                weapon->setMinDamage(400 + level); 
     459                                weapon->setMaxDamage(600 + level); 
     460                                weapon->setAttackSpeed(1.5); 
     461                                weapon->setDamageType(WeaponImplementation::ENERGY); 
     462                                weapon->setArmorPiercing(WeaponImplementation::MEDIUM); 
     463 
     464        } else if (objectCRC ==0x79BC6EB3) { 
     465                        //Battle Droid 
     466                        weapon = new CarbineRangedWeapon(_this, "object/weapon/ranged/carbine/shared_carbine_elite.iff", unicode("a E5_Carbine"), "carbine_elite", true); 
     467                                weapon->setMinDamage(400 + level); 
     468                                weapon->setMaxDamage(600 + level); 
     469                                weapon->setAttackSpeed(1.5); 
     470                                weapon->setDamageType(WeaponImplementation::ENERGY); 
     471                                weapon->setArmorPiercing(WeaponImplementation::MEDIUM); 
     472 
     473        } else if (objectCRC ==0xC3DE9EF6) { 
     474                        //Death Watch Blood Guards 
     475                        weapon = new OneHandedMeleeWeapon(_this, "object/weapon/melee/baton/shared_baton_stun.iff", unicode("a Stun_Baton"), "baton_stun", true); 
     476                                weapon->setMinDamage(440 + level); 
     477                                weapon->setMaxDamage(600 + level); 
     478                                weapon->setAttackSpeed(2); 
     479                                weapon->setDamageType(WeaponImplementation::STUN); 
     480                                weapon->setArmorPiercing(WeaponImplementation::MEDIUM); 
     481 
     482        } else if (objectCRC ==0x320DD865) { 
     483                        //Death Watch Overlord 
     484                        weapon = new OneHandedMeleeWeapon(_this, "object/weapon/melee/baton/shared_baton_stun.iff", unicode("a Stun_Baton"), "baton_stun", true); 
     485                                weapon->setMinDamage(1850 + level); 
     486                                weapon->setMaxDamage(2250 + level); 
     487                                weapon->setAttackSpeed(3); 
     488                                weapon->setDamageType(WeaponImplementation::STUN); 
     489                                weapon->setArmorPiercing(WeaponImplementation::HEAVY); 
     490 
     491        } else if (objectCRC ==0xEA0D8178 || objectCRC ==0x42DB151E || objectCRC ==0xD5A733A8) { 
     492                        //DWB Miners 
     493                        weapon = new PistolRangedWeapon(_this, "object/weapon/ranged/pistol/shared_pistol_cdef.iff", unicode("a CDEF_Pistol"), "pistol_cdef", true); 
     494                                weapon->setMinDamage(100 + level); 
     495                                weapon->setMaxDamage(175 + level); 
     496                                weapon->setAttackSpeed(2.5); 
     497                                weapon->setDamageType(WeaponImplementation::ENERGY); 
     498                                weapon->setArmorPiercing(WeaponImplementation::LIGHT); 
     499 
    437500        } else if (objectCRC == 0x6BABDCC0 || objectCRC == 0x35F5AD39 || objectCRC == 0x113E9DB3 || 
    438501                           objectCRC == 0x6050E92E || objectCRC == 0x46ABF8A1 || objectCRC == 0x71F874) { 
     
    440503                switch (System::random(1)) { 
    441504                case 0 : 
    442                         weapon = new PolearmMeleeWeapon(_this,  
     505                        weapon = new PolearmMeleeWeapon(_this, 
    443506                                        "object/weapon/melee/polearm/shared_lance_vibrolance.iff", unicode("a Vibrolance"), "lance_vibrolance", true); 
    444507                        weapon->setMinDamage(250 + level); 
     
    449512                        break; 
    450513                case 1 : 
    451                         weapon = new PolearmMeleeWeapon(_this,  
     514                        weapon = new PolearmMeleeWeapon(_this, 
    452515                                        "object/weapon/melee/polearm/shared_polearm_vibro_axe.iff", unicode("a Long Vibro Axe"), "lance_vibro_axe", true); 
    453516                        weapon->setMinDamage(250 + level); 
     
    459522                } 
    460523 
    461                 } else if (objectCRC == 0xD84925C2 || objectCRC == 0x90D8EBF8 || objectCRC == 0x1FA893FD || objectCRC == 0x2E831404 ||  
    462                                    objectCRC == 0x2D98A9B3) {  
    463                 // low level NS                 
     524                } else if (objectCRC == 0xD84925C2 || objectCRC == 0x90D8EBF8 || objectCRC == 0x1FA893FD || objectCRC == 0x2E831404 || 
     525                                   objectCRC == 0x2D98A9B3) { 
     526                // low level NS 
    464527                switch (System::random(1)) { 
    465528                case 0 : 
    466                         weapon = new OneHandedMeleeWeapon(_this,  
     529                        weapon = new OneHandedMeleeWeapon(_this, 
    467530                                        "object/weapon/melee/baton/shared_baton_gaderiffi.iff", unicode("a Gaderiffi"), "baton_gaderiffi", true); 
    468531                        weapon->setMinDamage(175 + level); 
     
    473536                        break; 
    474537                case 1 : 
    475                         weapon = new OneHandedMeleeWeapon(_this,  
     538                        weapon = new OneHandedMeleeWeapon(_this, 
    476539                                        "object/weapon/melee/baton/shared_baton_stun.iff", unicode("a Stun Baton"), "baton_stun", true); 
    477540                        weapon->setMinDamage(175 + level); 
     
    481544                        weapon->setArmorPiercing(WeaponImplementation::NONE); 
    482545                        break; 
    483                 }       
    484          
    485         } else if (objectCRC == 0xF0663601 || objectCRC == 0xAC722907 || objectCRC == 0x889ADF8D || objectCRC == 0xC4E5A41E ||  
     546                } 
     547 
     548        } else if (objectCRC == 0xF0663601 || objectCRC == 0xAC722907 || objectCRC == 0x889ADF8D || objectCRC == 0xC4E5A41E || 
    486549                           objectCRC == 0x44F934A9) { 
    487550                // High Level NS 
    488551                switch (System::random(1)) { 
    489552                case 0 : 
    490                         weapon = new PolearmMeleeWeapon(_this,  
     553                        weapon = new PolearmMeleeWeapon(_this, 
    491554                                        "object/weapon/melee/polearm/shared_lance_vibrolance.iff", unicode("a Vibrolance"), "lance_vibrolance", true); 
    492555                        weapon->setMinDamage(250 + level); 
     
    497560                        break; 
    498561                case 1 : 
    499                         weapon = new PolearmMeleeWeapon(_this,  
     562                        weapon = new PolearmMeleeWeapon(_this, 
    500563                                        "object/weapon/melee/polearm/shared_polearm_vibro_axe.iff", unicode("a Long Vibro Axe"), "lance_vibro_axe", true); 
    501564                        weapon->setMinDamage(250 + level); 
     
    506569                        break; 
    507570                } 
    508         } else if (objectCRC == 0xC5A39C12 || objectCRC == 0x5CECC950) {  
    509                 //Hutt Hideout  
    510                 weapon = new OneHandedMeleeWeapon(_this,   
    511                 "object/weapon/melee/baton/shared_baton_stun.iff", unicode("a Stun Baton"), "baton_stun", true);  
    512                 weapon->setMinDamage(175 + level);  
    513                 weapon->setMaxDamage(250 + level);  
    514                 weapon->setAttackSpeed(1.5);  
    515                 weapon->setDamageType(WeaponImplementation::STUN);  
    516                 weapon->setArmorPiercing(WeaponImplementation::NONE);  
    517         } else if (objectCRC == 0x3517D918) {  
    518                         //Gamorrean Guard  
    519                         weapon = new PolearmMeleeWeapon(_this,   
    520                         "object/weapon/melee/polearm/shared_polearm_vibro_axe.iff", unicode("a Long Vibro Axe"), "lance_vibro_axe", true);  
    521                         weapon->setMinDamage(250 + level);  
    522                         weapon->setMaxDamage(450 + level);  
    523                         weapon->setAttackSpeed(1.5);  
    524                         weapon->setDamageType(WeaponImplementation::KINETIC);  
    525                         weapon->setArmorPiercing(WeaponImplementation::MEDIUM);         
    526         } else if (objectCRC == 0xAA197516) {  
     571        } else if (objectCRC == 0xC5A39C12 || objectCRC == 0x5CECC950) { 
     572                //Hutt Hideout 
     573                weapon = new OneHandedMeleeWeapon(_this, 
     574                "object/weapon/melee/baton/shared_baton_stun.iff", unicode("a Stun Baton"), "baton_stun", true); 
     575                weapon->setMinDamage(175 + level); 
     576                weapon->setMaxDamage(250 + level); 
     577                weapon->setAttackSpeed(1.5); 
     578                weapon->setDamageType(WeaponImplementation::STUN); 
     579                weapon->setArmorPiercing(WeaponImplementation::NONE); 
     580        } else if (objectCRC == 0x3517D918) { 
     581                        //Gamorrean Guard 
     582                        weapon = new PolearmMeleeWeapon(_this, 
     583                        "object/weapon/melee/polearm/shared_polearm_vibro_axe.iff", unicode("a Long Vibro Axe"), "lance_vibro_axe", true); 
     584                        weapon->setMinDamage(250 + level); 
     585                        weapon->setMaxDamage(450 + level); 
     586                        weapon->setAttackSpeed(1.5); 
     587                        weapon->setDamageType(WeaponImplementation::KINETIC); 
     588                        weapon->setArmorPiercing(WeaponImplementation::MEDIUM); 
     589        } else if (objectCRC == 0xAA197516) { 
    527590                // NS Queen 
    528591                switch (System::random(1)) { 
    529592                case 0 : 
    530                         weapon = new OneHandedMeleeWeapon(_this,  
     593                        weapon = new OneHandedMeleeWeapon(_this, 
    531594                                "object/weapon/melee/baton/shared_baton_gaderiffi.iff", unicode("a Gaderiffi"), "baton_gaderiffi", true); 
    532595                        weapon->setMinDamage(800 + level); 
     
    537600                        break; 
    538601                case 1 : 
    539                         weapon = new OneHandedMeleeWeapon(_this,  
     602                        weapon = new OneHandedMeleeWeapon(_this, 
    540603                                "object/weapon/melee/baton/shared_baton_stun.iff", unicode("a Stun Baton"), "baton_stun", true); 
    541604                        weapon->setMinDamage(900 + level); 
     
    546609                        break; 
    547610                } 
    548                 } else if (objectCRC == 0x9242B53A || objectCRC == 0x49551DAD || objectCRC == 0x587A20 ||  
    549                              objectCRC == 0xFBBB5134 || objectCRC == 0xB2B636B9 || objectCRC == 0x69A19E2E) {  
    550                 // Sennex Cave  
     611                } else if (objectCRC == 0x9242B53A || objectCRC == 0x49551DAD || objectCRC == 0x587A20 || 
     612                             objectCRC == 0xFBBB5134 || objectCRC == 0xB2B636B9 || objectCRC == 0x69A19E2E) { 
     613                // Sennex Cave 
    551614                switch (System::random(1)) { 
    552615                case 0 : 
    553                         weapon = new PolearmMeleeWeapon(_this,  
     616                        weapon = new PolearmMeleeWeapon(_this, 
    554617                                "object/weapon/melee/polearm/shared_polearm_vibro_axe.iff", unicode("a Long Vibro Axe"), "lance_vibro_axe", true); 
    555618                        weapon->setMinDamage(250 + level); 
     
    560623                        break; 
    561624                case 1 : 
    562                         weapon = new TwoHandedMeleeWeapon(_this,  
     625                        weapon = new TwoHandedMeleeWeapon(_this, 
    563626                                "object/weapon/melee/axe/shared_axe_vibroaxe.iff", unicode("a Vibro Axe"), "axe_vibro", true); 
    564627                        weapon->setMinDamage(200 + level); 
     
    567630                        weapon->setDamageType(WeaponImplementation::KINETIC); 
    568631                        weapon->setArmorPiercing(WeaponImplementation::MEDIUM); 
    569                         break;          
     632                        break; 
    570633                } 
    571634        } else if (objectCRC == 0xFB872285) { // lord nyax 
    572                 weapon = new CarbineRangedWeapon(_this,  
     635                weapon = new CarbineRangedWeapon(_this, 
    573636                                "object/weapon/ranged/carbine/shared_carbine_e11.iff", unicode("a e11 Carbine"), "carbine_e11", true); 
    574637                weapon->setMinDamage(550); 
     
    594657        try { 
    595658                zone->lock(); 
    596                  
     659 
    597660                zone->registerObject(_this); 
    598661 
    599662                if (parent != NULL) { 
    600663                        BuildingObject* building = (BuildingObject*)parent->getParent(); 
    601                          
     664 
    602665                        insertToBuilding(building); 
    603                          
     666 
    604667                        building->notifyInsertToZone(_this); 
    605                 } else {  
     668                } else { 
    606669                        zone->insert(this); 
    607670                        zone->inRange(this, 128); 
    608671                } 
    609                  
     672 
    610673                zone->unlock(); 
    611674        } catch (...) { 
     
    644707void CreatureImplementation::updateZone(bool lightUpdate, bool sendPackets) { 
    645708        bool insert = false; 
    646          
     709 
    647710        try { 
    648711                zone->lock(); 
    649                  
     712 
    650713                if (parent != NULL && parent->isCell()) { 
    651714                        CellObject* cell = (CellObject*)parent; 
     
    661724                else 
    662725                        zone->update(this); 
    663                  
     726 
    664727                zone->inRange(this, 128); 
    665728 
     
    737800void CreatureImplementation::updateCreaturePosition(bool lightUpdate) { 
    738801        ++movementCounter; 
    739          
     802 
    740803        for (int i = 0; i < inRangeObjectCount(); ++i) { 
    741804                SceneObject* obj = (SceneObject*) (((SceneObjectImplementation*) getInRangeObject(i))->_getStub()); 
     
    766829void CreatureImplementation::removeFromZone(bool doLock) { 
    767830        deagro(); 
    768          
     831 
    769832        try { 
    770833                if (zone == NULL || !isInQuadTree()) 
    771834                        return; 
    772                  
     835 
    773836                zone->lock(doLock); 
    774                  
     837 
    775838                if (parent != NULL && parent->isCell()) { 
    776839                        CellObject* cell = (CellObject*) parent; 
     
    783846        for (int i = 0; i < inRangeObjectCount(); ++i) { 
    784847                        QuadTreeEntry* obj = getInRangeObject(i); 
    785                          
     848 
    786849                        if (obj != this) 
    787850                                obj->removeInRangeObject(this); 
     
    789852 
    790853                removeInRangeObjects(); 
    791                  
     854 
    792855                zone->deleteObject(objectID); 
    793856 
     
    827890                if (obj == this) 
    828891                        return; 
    829                  
     892 
    830893                if (!isCreature() || aggroedCreature != NULL || isInCombat()) { 
    831894                        return; 
    832895                } 
    833                          
     896 
    834897 
    835898                SceneObject* scno = (SceneObject*) (((SceneObjectImplementation*) obj)->_getStub()); 
    836                  
     899 
    837900                if (scno == targetObject) { 
    838901                        return; 
     
    882945        try { 
    883946                wlock(); 
    884                  
     947 
    885948                if (!checkState() || zone == NULL) { 
    886949                        unlock(); 
    887950                        return false; 
    888951                } 
    889                  
     952 
    890953                bool needMoreActivity = false; 
    891954 
     
    894957                } else if (doRandomMovement) { 
    895958                        doRandomMovement = false; 
    896                          
     959 
    897960                        addRandomPatrolPoint(32 + System::random(64), false); 
    898961                } 
    899                  
     962 
    900963                needMoreActivity |= doMovement(); 
    901          
     964 
    902965                if (aggroedCreature != NULL) { 
    903966                        if (!aggroedCreature->isAttackable()) 
     
    907970                } else if (isInCombat()) 
    908971                        clearCombatState(); 
    909                  
     972 
    910973                needMoreActivity |= doRecovery(); 
    911                  
     974 
    912975                if (needMoreActivity && zone != NULL) { 
    913976                        info("queuing more activities"); 
    914                          
     977 
    915978                        creatureManager->queueActivity(this); 
    916979                } else { 
     
    918981                        deagro(); 
    919982                } 
    920                          
     983 
    921984                unlock(); 
    922985        } catch (Exception& e) { 
     
    930993                unlock(); 
    931994        } 
    932          
    933         return true;            
     995 
     996        return true; 
    934997} 
    935998 
     
    9421005        if (isDead() && isInActiveState()) { 
    9431006                info("queing despawn"); 
    944                  
     1007 
    9451008                deagro(); 
    946                  
     1009 
    9471010                creatureState = DESPAWNING; 
    948                  
     1011 
    9491012                creatureManager->queueActivity(this, 120000); 
    950                  
     1013 
    9511014                return false; 
    9521015        } else if (isDeSpawning()) { 
    9531016                deagro(); 
    954                  
     1017 
    9551018                creatureState = RESPAWNING; 
    956                  
     1019 
    9571020                unload(); 
    9581021                if(respawnTimer > 0) { // 0 is do not respawn 
     
    9601023                        msg << "respawning creature with " << respawnTimer << "s timer"; 
    9611024                        info(msg); 
    962                  
     1025 
    9631026                        creatureManager->queueActivity(this, respawnTimer * 1000); 
    9641027                } 
     
    9691032                return false; 
    9701033        } 
    971          
     1034 
    9721035        return true; 
    973          
     1036 
    9741037} 
    9751038 
    9761039void CreatureImplementation::resetState() { 
    9771040        zone = creatureManager->getZone(); 
    978          
     1041 
    9791042        creatureState = ACTIVE; 
    9801043        postureState = UPRIGHT_POSTURE; 
     
    9831046        action = actionMax; 
    9841047        mind = mindMax; 
    985          
     1048 
    9861049        healthWounds = 0; 
    9871050        actionWounds = 0; 
    9881051        mindWounds = 0; 
    989          
     1052 
    9901053        damageMap.removeAll(); 
    9911054        defenderList.removeAll(); 
    992          
     1055 
    9931056        clearStates(); 
    994          
     1057 
    9951058        aggroedCreature = NULL; 
    996          
     1059 
    9971060        clearLootItems(); 
    998          
     1061 
    9991062        resetPatrolPoints(false); 
    10001063 
     
    10091072 
    10101073        ++movementCounter; 
    1011          
     1074 
    10121075        if (point == NULL) { 
    10131076                if (parent != NULL) 
     
    10171080        } else { 
    10181081                if (point->getCellID() != 0) 
    1019                         msg = new UpdateTransformWithParentMessage(_this, point->getPositionX(), point->getPositionZ(), point->getPositionY(), point->getCellID());  
     1082                        msg = new UpdateTransformWithParentMessage(_this, point->getPositionX(), point->getPositionZ(), point->getPositionY(), point->getCellID()); 
    10201083                else 
    10211084                        msg = new UpdateTransformMessage(_this, point->getPositionX(), point->getPositionZ(), point->getPositionY()); 
    10221085        } 
    1023          
     1086 
    10241087        broadcastMessage(msg); 
    10251088} 
     
    10301093 
    10311094        stringstream reachedPosition; 
    1032         reachedPosition << "(" << positionX << ", " << positionY << ")";  
     1095        reachedPosition << "(" << positionX << ", " << positionY << ")"; 
    10331096        info("reached " + reachedPosition.str()); 
    10341097 
     
    10531116        if (actualSpeed != 0) 
    10541117                setNextPosition(); 
    1055          
     1118 
    10561119        if (isKnockedDown()) 
    10571120                return true; 
    1058                  
     1121 
    10591122        if (isKneeled()) 
    10601123                doStandUp(); 
     
    10621125        float waypointX, waypointY, waypointZ; 
    10631126        uint64 cellID = 0; 
    1064          
     1127 
    10651128        float maxSpeed = speed; 
    10661129 
     
    10701133                waypointY = aggroedCreature->getPositionY(); 
    10711134                cellID = aggroedCreature->getParentID(); 
    1072                  
     1135 
    10731136        } else if (!patrolPoints.isEmpty()) { 
    10741137                PatrolPoint* waypoint = patrolPoints.get(0); 
    1075          
     1138 
    10761139                waypointX = waypoint->getPositionX(); 
    10771140                waypointZ = positionZ; 
    10781141                waypointY = waypoint->getPositionY(); 
    1079                  
     1142 
    10801143                cellID = waypoint->getCellID(); 
    10811144        } else 
    10821145                return false; 
    1083          
     1146 
    10841147        if (cellID != 0) { 
    10851148                SceneObject* obj = zone->lookupObject(cellID); 
     
    10881151                        cellID = 0; 
    10891152        } 
    1090          
    1091         float dx = waypointX - positionX;  
     1153 
     1154        float dx = waypointX - positionX; 
    10921155        float dy = waypointY - positionY; 
    1093          
     1156 
    10941157        float dist = sqrt(dx * dx + dy * dy); 
    10951158        float directionangle = atan2(dy, dx); 
    1096          
     1159 
    10971160        float maxDistance = 5; 
    1098          
     1161 
    10991162        if (weaponObject != NULL) 
    11001163                maxDistance = weaponObject->getMaxRange(); 
    1101                  
     1164 
    11021165        if (dist < maxDistance) { 
    11031166                info("reached destintaion"); 
    1104                  
     1167 
    11051168                if (aggroedCreature == NULL) 
    11061169                        resetPatrolPoints(false); 
    1107                  
     1170 
    11081171                actualSpeed = 0; 
    1109                  
     1172 
    11101173                checkNewAngle(directionangle); 
    1111                  
     1174 
    11121175                return false; 
    11131176        } 
    1114          
     1177 
    11151178        float newPositionX, newPositionZ, newPositionY; 
    1116          
     1179 
    11171180        newPositionZ = waypointZ; 
    11181181 
     
    11211184        else 
    11221185                actualSpeed = maxSpeed; 
    1123          
     1186 
    11241187        if (((parent != NULL) && (cellID == 0)) || (parent == NULL && cellID != 0)) { 
    11251188                newPositionX = waypointX; 
     
    11361199        angleMsg << "angle = " << directionangle * 180 / M_PI << " (" << dx << "," << dy << ")\n"; 
    11371200        info(angleMsg.str());*/ 
    1138          
     1201 
    11391202        setRadialDirection(M_PI / 2 - directionangle); 
    1140          
     1203 
    11411204        stringstream position; 
    1142         position << "(" << newPositionX << ", " << newPositionY << ")";  
     1205        position << "(" << newPositionX << ", " << newPositionY << ")"; 
    11431206        info("moving to " + position.str()); 
    1144          
     1207 
    11451208        broadcastNextPositionUpdate(nextPosition); 
    1146          
     1209 
    11471210        return true; 
    11481211} 
     
    11641227 
    11651228                aggroedCreature = target; 
    1166                  
     1229 
    11671230                updateTarget(target); 
    11681231 
     
    11761239bool CreatureImplementation::attack(CreatureObject* target) { 
    11771240        info("attacking target"); 
    1178          
     1241 
    11791242        if (target == NULL || target == _this || !target->isPlayer()) 
    11801243                return false; 
     
    11851248                return false; 
    11861249        } 
    1187          
     1250 
    11881251        if (!isInRange(target, 70)) { 
    1189                 if (((parent != NULL) && (nextPosition->getCellID() == 0))  
     1252                if (((parent != NULL) && (nextPosition->getCellID() == 0)) 
    11901253                                || (parent == NULL && nextPosition->getCellID() != 0)) 
    11911254                        return true; 
     
    12011264                return true; 
    12021265        } 
    1203          
     1266 
    12041267        CombatManager* combatManager = server->getCombatManager(); 
    12051268 
    12061269        int skills = creatureSkills.size(); 
    1207          
     1270 
    12081271        Skill* skill = NULL; 
    1209          
     1272 
    12101273        if (skills == 0) 
    12111274                return false; 
     
    12141277                skill = creatureSkills.get(rand); 
    12151278        } 
    1216          
     1279 
    12171280        if (skill == NULL) 
    12181281                return false; 
    1219                          
     1282 
    12201283        uint32 actionCRC = skill->getNameCRC(); 
    1221          
     1284 
    12221285        //updateTarget(target->getObjectID()); 
    12231286 
     
    12371300        action->setSkill(skill); 
    12381301        action->setTarget(target); 
    1239          
     1302 
    12401303        combatManager->handleAction(action); 
    12411304        delete action; 
    1242          
     1305 
    12431306        if (target->isIncapacitated() || target->isDead()) { 
    12441307                deagro(); 
    12451308                return false; 
    12461309        } 
    1247          
     1310 
    12481311        lastCombatAction.update(); 
    1249          
     1312 
    12501313        float delay = skill->getSpeedRatio(); 
    1251          
     1314 
    12521315        if (weaponObject != NULL) 
    12531316                delay = delay * weaponObject->getAttackSpeed(); 
    1254          
     1317 
    12551318        nextAttackDelay.update(); 
    12561319        nextAttackDelay.addMiliTime((uint64)(delay * 1000)); 
     
    12641327                msg << "deaggroed (0x" << hex << aggroedCreature->getObjectID() << dec << ")"; 
    12651328                info(msg); 
    1266                  
     1329 
    12671330                if (aggroedCreature->isDead() || aggroedCreature->isIncapacitated()) 
    12681331                        doIncapAnimation(); 
    1269          
     1332 
    12701333                aggroedCreature = NULL; 
    12711334        } 
     
    12761339 
    12771340void CreatureImplementation::activateRecovery() { 
    1278         if (zone != NULL && !isActive())        
     1341        if (zone != NULL && !isActive()) 
    12791342                creatureManager->queueActivity(this); 
    12801343} 
     
    12831346        if ((++activityCount) % 3 == 0) { 
    12841347                //info("activating recovery"); 
    1285                  
     1348 
    12861349                if (hasStates()) 
    12871350                        doStatesRecovery(); 
    1288          
     1351 
    12891352                calculateHAMregen(); 
    12901353 
    12911354                if ((activityCount) % 6 == 0) 
    12921355                        highestMadeDamage = 0; 
    1293         }               
    1294          
     1356        } 
     1357 
    12951358        if (isOnFullHealth() && !hasStates()) { 
    12961359                highestMadeDamage = 0; 
     
    12981361                return false; 
    12991362        } 
    1300          
     1363 
    13011364        return true; 
    13021365} 
     
    13361399        default: 
    13371400                doAnimation("rude"); 
    1338                 break;                  
     1401                break; 
    13391402        } 
    13401403} 
     
    13521415        if (isStunned() && stunRecoveryTime.isPast()) 
    13531416                clearState(STUNNED_STATE); 
    1354                          
     1417 
    13551418        if (isIntimidated() && intimidateRecoveryTime.isPast()) 
    13561419                clearState(INTIMIDATED_STATE); 
    1357                          
     1420 
    13581421        if (isPoisoned()) { 
    13591422                if (poisonRecoveryTime.isPast()) 
     
    13611424                else doPoisonTick(); 
    13621425        } 
    1363          
     1426 
    13641427        if (isDiseased()) { 
    13651428                if (diseasedRecoveryTime.isPast()) 
     
    13671430                else doDiseaseTick(); 
    13681431        } 
    1369          
     1432 
    13701433        if (isOnFire()) { 
    13711434                if (fireRecoveryTime.isPast()) 
     
    13731436                else doFireTick(); 
    13741437        } 
    1375          
     1438 
    13761439        if (isBleeding()) { 
    13771440                if (bleedingRecoveryTime.isPast()) 
     
    13851448void CreatureImplementation::queueRespawn() { 
    13861449        creatureState = RESPAWNING; 
    1387                          
     1450 
    13881451        stringstream msg; 
    13891452        msg << "respawning creature with " << respawnTimer << "s timer"; 
    13901453        info(msg); 
    1391                          
     1454 
    13921455        removeFromQueue(); 
    1393          
     1456 
    13941457        creatureManager->queueActivity(this, respawnTimer * 1000); 
    13951458} 
     
    13981461        try { 
    13991462                wlock(doLock); 
    1400                  
     1463 
    14011464                patrolPoints.add(0, cord); 
    1402                  
     1465 
    14031466                if (!isActive()) 
    14041467                        creatureManager->queueActivity(this); 
    1405                          
     1468 
    14061469                unlock(doLock); 
    14071470        } catch (...) { 
     
    14141477        try { 
    14151478                wlock(doLock); 
    1416                  
     1479 
    14171480                while (!patrolPoints.isEmpty()) { 
    14181481                        PatrolPoint* point = patrolPoints.remove(0); 
    1419                          
     1482 
    14201483                        delete point; 
    14211484                } 
    1422                  
     1485 
    14231486                //patrolPoints.removeAll(); 
    1424                  
     1487 
    14251488                unlock(doLock); 
    14261489        } catch (...) { 
     
    14411504        try { 
    14421505                wlock(doLock); 
    1443                  
     1506 
    14441507                patrolPoints.add(cord); 
    1445                  
     1508 
    14461509                if (!isActive()) 
    14471510                        creatureManager->queueActivity(this); 
    1448                  
     1511 
    14491512                unlock(doLock); 
    14501513        } catch (...) { 
     
    14571520        float angle = (45 + System::random(200)) / 3.14; 
    14581521        float distance = radius + System::random((int) radius); 
    1459                                  
    1460         float newPositionX = positionX + cos(angle) * distance;  
    1461         float newPositionY = positionY + sin(angle) * distance;  
    1462          
     1522 
     1523        float newPositionX = positionX + cos(angle) * distance; 
     1524        float newPositionY = positionY + sin(angle) * distance; 
     1525 
    14631526        PatrolPoint* cord = new PatrolPoint(newPositionX, positionZ, newPositionY, getParentID()); 
    1464          
     1527 
    14651528        addPatrolPoint(cord, doLock); 
    14661529} 
  • core3devel/MMOCoreORB/src/server/zone/objects/player/Player.cpp

    r421 r427  
    45404540} 
    45414541 
    4542  
    4543  
  • core3devel/MMOCoreORB/src/server/zone/objects/player/PlayerObject.cpp

    r421 r427  
    10591059} 
    10601060 
    1061  
    1062  
  • core3devel/MMOCoreORB/src/server/zone/objects/static/firework/FireworkWorld.cpp

    r416 r427  
    139139} 
    140140 
    141  
  • core3devel/MMOCoreORB/src/server/zone/objects/tangible/firework/Firework.cpp

    r416 r427  
    115115} 
    116116 
    117