Skip to content

Commit 5dc36e1

Browse files
Adding mob skills (#26)
* Adding mob skills * Moved mob skill logic to pool * Implementing mob heal * Added hp & mp heal * Changed mob skills to local variable and added global func
1 parent 2422055 commit 5dc36e1

File tree

6 files changed

+387
-25
lines changed

6 files changed

+387
-25
lines changed

go.sum

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ github.com/golang/protobuf v1.4.0 h1:oOuy+ugB+P/kBdUnG5QaMXSIyJ1q38wWSojYCb3z5VQ
4242
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
4343
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
4444
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
45+
github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4=
4546
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
4647
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
4748
github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
@@ -51,8 +52,10 @@ github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/u
5152
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
5253
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
5354
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
55+
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
5456
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
5557
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
58+
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
5659
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
5760
github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=
5861
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
@@ -105,6 +108,7 @@ golang.org/x/sys v0.0.0-20200427175716-29b57079015a h1:08u6b1caTT9MQY4wSbmsd4Ulm
105108
golang.org/x/sys v0.0.0-20200427175716-29b57079015a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
106109
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
107110
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
111+
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
108112
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
109113
google.golang.org/appengine v1.4.0 h1:/wp5JvzpHIxhs/dumFmF7BXTf3Z+dd4uXta4kVyO508=
110114
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@@ -116,8 +120,10 @@ google.golang.org/protobuf v1.21.0 h1:qdOKuR/EIArgaWNjetjgTzgVTAZ+S/WXVrq9HW9zim
116120
google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
117121
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
118122
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
123+
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
119124
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
120125
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
121126
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
122127
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
128+
gopkg.in/yaml.v2 v2.2.5 h1:ymVxjfMaHvXD8RqPRmzHHsB3VvucivSkIAvJFDI5O3c=
123129
gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=

nx/load.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package nx
22

33
import (
44
"fmt"
5+
"log"
56

67
"github.com/Hucaru/gonx"
78
)
@@ -75,3 +76,14 @@ func GetMobSkill(id byte) ([]MobSkill, error) {
7576

7677
return mobSkills[id], nil
7778
}
79+
80+
// GetMobSkills from loaded nx
81+
func GetMobSkills(id int32) map[byte]byte {
82+
mob, err := GetMob(id)
83+
if err != nil {
84+
log.Println(err)
85+
return nil
86+
}
87+
88+
return mob.Skills
89+
}

server/channel_mob.go

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,7 @@ func (server ChannelServer) mobControl(conn mnet.Client, reader mpacket.Reader)
2323
return
2424
}
2525

26-
field, ok := server.fields[plr.MapID()]
27-
28-
if !ok {
29-
return
30-
}
31-
32-
inst, err := field.GetInstance(plr.InstanceID())
33-
26+
inst, err := server.getPlayerInstance(conn, reader)
3427
if err != nil {
3528
return
3629
}
@@ -41,19 +34,6 @@ func (server ChannelServer) mobControl(conn mnet.Client, reader mpacket.Reader)
4134

4235
inst.LifePool().MobAcknowledge(mobSpawnID, plr, moveID, skillPossible, byte(action), skillData, moveData, finalData, moveBytes)
4336

44-
// skillDelay := int16(skillData >> 16)
45-
// skillID := byte(skillData)
46-
// skillLevel := byte(skillData >> 8)
47-
48-
// if actualAction >= 21 && actualAction <= 25 {
49-
// mob.PerformSkill(skillDelay, skillLevel, skillID)
50-
// } else if actualAction > 12 && actualAction < 20 {
51-
// mob.PerformAttack(byte(actualAction - 12))
52-
// }
53-
54-
// mob.AcknowledgeController(moveID, finalData, skillPossible, skillID, skillLevel)
55-
// moveBytes := movement.GenerateMovementBytes(moveData)
56-
// inst.UpdateMob(mobSpawnID, skillPossible, byte(action), skillData, moveBytes)
5737
}
5838

5939
func (server ChannelServer) mobDamagePlayer(conn mnet.Client, reader mpacket.Reader, mobAttack int8) {

server/channel_player.go

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -688,3 +688,26 @@ func (server ChannelServer) playerBumpDamage(conn mnet.Client, reader mpacket.Re
688688
plr.DamagePlayer(int16(damage))
689689

690690
}
691+
692+
func (server ChannelServer) getPlayerInstance(conn mnet.Client, reader mpacket.Reader) (*field.Instance, error) {
693+
694+
plr, err := server.players.getFromConn(conn)
695+
696+
if err != nil {
697+
return nil, err
698+
}
699+
700+
field, ok := server.fields[plr.MapID()]
701+
702+
if !ok {
703+
return nil, err
704+
}
705+
706+
inst, err := field.GetInstance(plr.InstanceID())
707+
708+
if err != nil {
709+
return nil, err
710+
}
711+
712+
return inst, nil
713+
}

0 commit comments

Comments
 (0)